The rate differs from municipality to municipality, the cap is CZK 50, children don't pay and the day of arrival doesn't count. A practical guide to a tax you collect for the municipality — not for yourself.
The poplatek z pobytu (local tourist tax) is the only item in the price of a stay that isn't yours. You collect it from the guest and pay it to the municipality. And because each municipality sets it by its own ordinance, there's no single answer to the question “how much”. But there are a few rules that apply everywhere in the Czech Republic.
What applies nationwide
- The cap is CZK 50 per person and each started day of the stay. A municipality can set less, not more.
- The day of arrival doesn't count. A guest staying 3 nights pays for 3 days, not 4.
- Exempt are people under 18, blind people, holders of the ZTP/P disability card and their companions, and several other groups. An 18-year-old already pays.
- Only stays of up to 60 consecutive days with one provider are subject to the tax. A guest who stays with you for three months doesn't pay the tax at all — not even for the first 60 days.
- The guest pays if they aren't registered as resident in that municipality. So a Czech from another town pays too.
What the municipality decides
The rate, the registration deadline, how often you pay, and the form of the report. Prague has CZK 50, registration within 30 days of starting the activity and payment by the 15th of the following month; it's administered by the office of the city district. Most other cities give 15 days for registration and payment is quarterly. Rates as of September 2026, for illustration: Olomouc and Liberec CZK 50, Ostrava CZK 45, Hradec Králové CZK 40, Plzeň CZK 35, Brno-Žabovřesky CZK 21. You'll find the binding text of your municipality's ordinance in the Collection of Legal Regulations of Territorial Self-Governing Units at sbirkapp.gov.cz.
There's no register of rates, and ordinances usually change as of 1 January. So check your rate once a year.
A sample calculation
A family, 2 adults and 2 children (aged 8 and 15), 3 nights in a municipality with a rate of CZK 50:
| Calculation | Tax | |
|---|---|---|
| 2 adults | 2 × 3 nights × CZK 50 | CZK 300 |
| 2 children | exempt, reason in the register: “person under 18” | CZK 0 |
| Total to pay to the municipality | CZK 300 |
That note about the reason in the register isn't a formality. An exempt guest is entered in the evidenční kniha (guest register) with the reason written out, not with a zero. Without a reason, they're a full taxpayer as far as the municipality is concerned.
Doesn't Airbnb pay it for me?
No. Airbnb publishes a list of countries where it collects and pays tourist taxes on behalf of hosts, and the Czech Republic isn't on it. Booking.com doesn't pay the tax in the Czech Republic either. By law, you are the payer. You can include the tax in the price or collect it on site — but in both cases you have to pay it over.
How the municipality checks it
Three ways. It compares your guest register with what you've reported. It requests data from third parties — the Czech Tax Code allows it to. And it comes for an on-site inspection. It can assess additional tax 3 years back and increase the amount owed by up to twice the difference, so you pay at most three times what you should have paid. Penalties and late-payment interest don't apply to local fees; the increase in the tax is a sanction in itself.
On top of that, failing to meet the registration or record-keeping obligation can mean a fine of up to CZK 500,000. That's the statutory maximum; in practice, what usually happens is an additional assessment of the tax three years back for those who “didn't know you had to register”.
Where mistakes happen
- The tax is paid for nights, not for days including the arrival day.
- A child with no reason for exemption recorded.
- The municipal registration deadline runs from the start of the activity, not from the first guest.
- A rate copied from another municipality or from last year.
How I have it set up
For each apartment, the municipality's rate and rules are set once. From check-in, the age of each guest is known, so the tax is calculated automatically, the exemption is written to the register with its reason, and at the end of the month or quarter I have the amount to pay as well as the basis for the report to the municipality. The only thing I do manually is check once a year whether the municipality has changed its ordinance.
Marco, founder of Ubyo — He has been running apartments in Prague for over seven years and wrote Ubyo because he didn’t want to do any of this by hand.
For information only, not legal or tax advice — always discuss your specific situation with a professional. This article is a translation of the Czech original.