Sri Lanka is still very much a cash based society, knowing how to get rupees is essential
We used Bank of Ceylon and People's bank ATMs in Sri Lanka and neither charged us any fees for cash withdrawals. We also travel with 2 different cards that do not charge us at ATMs, Starling bank and Revolut.
Make sure you have a card that either doesn't charge for withdrawals at ATMs and always decline the conversion, if offered, to get the best rates.
We used the Bank of Ceylon ATM at Colombo International Airport when we arrived which didn't charge fees and then other ATMs around the island. It can take a little planning if you're going very rural as there are places with very few ATMs around.
Download "ATM Fee Saver" app which is pretty accurate about ATMs and fees in Sri Lanka.
Large hotels and resorts may offer card payments, many will charge 3% though. Very few restaurants and smaller guesthouses will have the option for card payments so be sure to have enough cash on you.
We've found most hotels are pretty relaxed if they ask for payment on check in but you don't have enough cash if you get it to them later that day or the next day.
We wouldn't recommend trying to use currency exchanges in Sri Lanka unless its the only option for you. Firsty, there aren't very many in much of the country, secondly you'll get better rates from the ATMs with a travel debit card.
A few years ago when Sri Lanka was in the depths of a financial crisis, gold shops would give you a fantastic exchange rate for USD, especially large bills, some 30-40% better than the printed exchange rate. This was due to Sri Lanka having a severe shortage of international currency to use to buy oil for their power stations. This sort of thing doesn't really exist anymore, and was always slightly illegal.
Want to see more?
I have created curated maps, itineraries and more for travellers that want to travel like me.
Go check out my guide for the best free things to do as well as itineraries and travel tips to make your trip unforgettable.