Research by Which? Money found that despite the weak pound travellers could make considerable savings by buying foreign currency from city centre bureaux de change or online, rather than from the airport, travel agents and banks.
The consumer watchdog checked exchange rates when buying US $500 and €500 in cash at 21 currency providers on six different dates.
It found costs varied by almost £50 between the least expensive and the most expensive providers.
The cheapest currency provider on average for US dollars and euros was Eurochange, it charged £351 for $500 and £461 for €500.
But the most expensive quotes were from an airport branch of Travelex, who charged £40 more for $500 and £47 more for €500, on average.
While airport bureaux de change such as TTT, American Express and Travelex provided the worst value for money, as they tended to charge for commission.
The Post Office offered good deals for people buying currency online, but not for those buying from a branch.
Martyn Hocking, editor of Which? Money, said: "The fall in the value of the pound has increased the cost of hotels, travel and entertainment for UK tourists, so it’s more important than ever to shop around for currency.
"Don’t just presume that high-street providers such as travel agents and the Post Office offer the best deals.
"Thinking ahead and changing your money before you travel means you’ll avoid getting stung at the airport – head to a city centre bureau de change or go online for the best deals."