The rupee fell 21 paise to 94.95 against the US dollar on Wednesday as crude oil prices neared $100 a barrel amid escalating US-Iran tensions. A weak dollar cushioned the decline, while domestic equities also opened sharply lower.