A postcode lottery on currency exchange rates could be leaving some holidaymakers short-changed, according to a consumer group.
Which? found "significant" regional variation in the amount of euros it was offered for a £500 exchange between branches of the same provider across 10 UK locations on a single day in March.
Researchers were offered 578.50 euro in London and Glasgow, dropping to 565 euro in Birmingham, Haverfordwest and Sheffield.
Thomas Cook offered its best total of 585 euro in Sheffield and its lowest of 553.80 euro in Manchester, a difference of just over £25 - potentially enough to pay for a taxi to or from the airport.
However Marks & Spencer offered the same rates nationwide and Sainsbury's showed no significant regional variation. There was some variation between branches of Asda and Tesco, but this was not common, Which? said.
There were also significant differences in the rates offered by online and central London foreign currency providers over an eight-week period, making it vital for consumers to shop around for the best deal, the watchdog said.
Online provider ICICI quoted an average of 587.15 euro compared to HSBC's average online rate of 562.78 euro, a difference of almost 4% or as much as £21 on a £500 exchange.
Which? executive director Richard Lloyd said: "While we understand that local competition may play a part in the rates set, it is unfair that people are missing out on the best currency exchange rates just because of where they live.
"Holidays don't come cheap and these anomalies don't help hard-pressed consumers. Currency providers need to make sure their rates are consistent to ensure a fair deal for everyone."