The rupee snapped its 3-day losing streak against the US dollar by ending 21 paise higher at 63.80 on fresh selling of the greenback by banks and exporters.
However, month-end dollar demand from importers, mainly oil refiners, restricted the rupee's gains, forex dealers said.
The rupee resumed higher at 63.95 as against Wednesday's closing level of 64.01 at the Interbank Foreign Exchange (Forex) and firmed up further to 63.75 before ending at 63.80, showing a gain of 21 paise or 0.33%.
The local currency had dropped 49 paise, or 0.77 %, in last three days.
During intra-day trading, it hovered in a range of 63.75 and 64.00 per dollar.
However, the dollar hit its highest level in more than 12 years against the yen Thursday, with the US currency's rapid pace of gains putting market participants on alert for any signs of discomfort from the US and Japan.
Meanwhile, the benchmark BSE Sensex declined by 57.95 points, or 0.21 %, to end at 27,506.71.