Plain-English guide

Hotel booking fees, explained.
The fees the booking site adds, not the hotel.

The number you click is rarely the number you pay, and the hotel is only half the reason. The other half is the booking channel itself: service fees the site keeps, bundled "taxes and fees" lines that never itemize, currency conversion markups, and cancellation terms that bite later. Hotel-charged extras like resort fees are covered separately in resort fees explained. Here is the channel layer: each fee, where it hides, how to compare around it.

+ See the all-in price (free) or watch a hotel price without installing →

No affiliate spin here, just how booking-site fees actually work and how to shop around them.

Two layers of fees, two different culprits

Separate layers, fought differently. Sorting a charge into the right column is half the battle.

Added by the booking channel (this guide)

  • • Service or booking fees the site keeps for itself
  • • Bundled "taxes and fees" lines that never itemize
  • • Currency conversion markups on the charge
  • • Cancellation and change terms with their own cost

Charged by the property (separate guide)

  • ⚠️ Resort, destination, and amenity fees
  • ⚠️ Parking, pet fees, early check-in, deposits
  • ⚠️ Collected at the desk, even on prepaid bookings
  • ⚠️ Set by the hotel, identical on every site

Service fees and the "taxes and fees" bundle

The most direct channel fee is the simplest: a service fee or booking fee added by the site, for the site, not the hotel or the tax office. The big mainstream OTAs mostly earn commission from the hotel instead, so their "no booking fees" claims are usually true and still not the whole story. Explicit service fees appear most often on smaller resellers and discount channels, sometimes only on the final payment screen.

The subtler version is the bundle. On many prepaid rates the checkout shows one combined line, worded something like "taxes and fees" or "tax recovery charges and service fees". That line mixes the site's tax estimate with a service fee it keeps, never breaking out which part is which. Not automatically a rip-off, but unauditable by design, so comparing any single line item across sites is pointless. The only number worth comparing is the final all-in total, the same conclusion our guide to whether fees show in the displayed price reaches from the hotel side.

The tell, in one habit

Expand every collapsible price line the checkout offers. A site that itemizes cleanly shows room rate, each tax, each fee. One that will not is telling you to treat the bundle as the price, judged only against another site's final total for the same room.

Currency fees: the quiet percentage

Book a hotel priced in another currency and a percentage can be shaved off in three places, none labeled as a fee. First, the display conversion: the exchange rate behind a price shown in your home currency is the site's choice. Second, dynamic currency conversion, the checkout or front-desk offer to "pay in your home currency"; it almost always uses a worse rate than your card network would, so decline it. Third, your own bank: many cards add a foreign transaction fee to any non-domestic charge.

The defense is two habits: pay in the currency the price is natively set in, and know your card's foreign-fee policy before the trip, because a no-foreign-fee card removes that whole layer. And compare sites in one currency; two listings for the same room in different currencies may differ by nothing but the conversion. Currency spread is one of the quieter reasons the same room shows different prices on different sites.

Cancellation and change fees: the fee you only meet later

The most expensive booking fee is usually not on the checkout screen. It lives in the rate conditions, and you meet it when plans change. A refundable rate cancelled before its deadline costs nothing; after it, the penalty is typically the first night or the entire stay. A non-refundable rate is priced lower precisely because the cancellation fee is total: you pay everything, immediately, and keep nothing if the trip moves by a day.

Three details deserve more attention than they get. The deadline is measured in a time zone, usually the property's, so "free until March 3" can expire while it is still March 2 where you live. Refunds flow back through whoever took your money: a prepaid site booking is refunded on the site's timeline, not the hotel's. And a channel's own change or handling charge lives in those same terms. Getting this right pays, because a refundable rate is what lets you rebook when the price falls, the play in what to do when a hotel price drops after booking.

Which fees actually change what you pay

Fee-hunting deserves context: we measure hotel prices for a living. Across a 24-hotel basket tested twice in 2026, the mainstream booking sites priced matchable rooms at parity: wherever we could confirm the same named room across Booking.com, Expedia, Priceline, and the hotel's own site, the price was the same. Confirmed same-room savings showed up in only about 3% of cases. The listings that genuinely undercut the field were wholesalers running 10 to 40% under the mainstream consensus, and about 86% of those cheap listings could not be verified as the same room and terms. The full pattern is written up in the hotel price parity myth and the cheapest site to book hotels.

Read that against this page and the picture snaps into focus. With headline rates mostly at parity on mainstream sites, checkout differences largely live in the fee and currency layer: the bundle, the currency, the cancellation terms. The dramatic "cheaper" numbers usually come from channels where you cannot verify what you are buying. The winning move is not hunting a magically cheaper site; it is comparing final totals on terms you can verify.

Before you pay, check three things

  • 1. The all-in total, in one currency. Get the after-everything number from each site in the same currency before judging.
  • 2. Every fee line, expanded. Itemized taxes and fees are checkable; a bundle is not. If a site will not itemize, compare only final totals.
  • 3. The cancellation terms, as a contract. Deadline, time zone, penalty, and who processes the refund. Price the risk, not just the room.

Let the comparison carry the fees for you

Everything above compresses into one discipline: compare the final all-in total for the same room, dates, and terms, ignoring every number in between. Doing that by hand means a tab per site, expanded fee bundles, normalized currencies, re-read cancellation terms: enough work that most people skip it and pay whatever the first checkout says.

Underbook is a free Chrome extension that does the comparing while you shop. It checks other booking sites for the same room and dates and shows the all-in price side by side, so a padded fee layer cannot hide behind a familiar headline rate. When it cannot confirm two listings are the same room, it says so plainly instead of pretending. You always book wherever you choose; Underbook just makes sure the number you compared was the real one.

+ Add Underbook to Chrome (free)

Booking fees, common questions

What fees do booking sites add to a hotel room?+

Four kinds, all from the site rather than the hotel. Some sites add a service or booking fee they keep for themselves. Many prepaid rates carry a bundled line such as "taxes and fees" or "tax recovery charges and service fees" that combines a tax estimate with the site's own charge, itemizing neither. Paying in another currency can add a conversion markup, plus your card's foreign transaction fee. And the rate's cancellation terms carry their own cost if plans change. Resort and destination fees are separate, charged by the hotel.

What is a "tax recovery charges and service fees" line?+

It is a bundled line on many prepaid booking-site rates. The site collects an amount covering its estimate of the taxes owed on the room plus a service fee it keeps, shown as one combined number. The tax portion and the fee portion are never broken out, so you cannot see how much is tax and how much is margin. Not necessarily a bad deal, but unauditable by design, which is why the only fair comparison is the final all-in total on each site.

Can I avoid currency conversion fees when booking a hotel?+

Mostly, yes, with two habits. When a site or a front desk offers to charge you in your home currency, decline it. That offer is dynamic currency conversion, and its exchange rate is generally worse than what your card network would use. Pay in the currency the price is natively set in. Then know your own card: many add a foreign transaction fee on non-domestic charges, and a card without one removes that layer entirely.

Do booking sites charge cancellation fees?+

The cancellation cost usually comes from the rate you chose rather than a separate site fee. A refundable rate cancelled before its deadline costs nothing; after the deadline you typically owe the first night or the full stay, on the hotel's terms. A non-refundable rate costs the entire amount the moment you book it. Where a site adds its own handling charge for changes, it must appear in the rate's terms, so read the cancellation policy as the contract it is: deadline, time zone, penalty, refund path.

Is it cheaper to book direct with the hotel to avoid booking fees?+

Not automatically. In our own two-round 2026 measurements, matchable rooms were priced at parity across the hotel's site and the mainstream booking sites, so direct is not reliably cheaper on the headline rate. It does simplify the fee picture: no channel bundle, refunds handled by the hotel, member rates that can tilt the total. Compare final all-in totals for your exact room and dates, direct included, and let the number decide.

Does Underbook add any fees of its own?+

No. Underbook is a free Chrome extension that compares the all-in price of your room across booking sites and says plainly when a cheaper listing cannot be confirmed as the same room. You book wherever you choose. It exists to make the real number visible, not to add another layer.

Compare the total, not the teaser.

Underbook shows the all-in price for your exact room across booking sites, with the fee layer inside the number instead of behind it. Free, and you book where you choose.

+ Add to Chrome (free)

or watch a hotel price without installing →