Every time I’ve talked to another operator or a developer building something for Japanese hospitality, the same complaint comes up: accommodation tax math. Not the concept — everyone understands “some cities tax overnight stays.” It’s the fact that local governments calculate it differently, and there is no single official, machine-readable national table that developers can safely drop into booking software without checking each local government’s ordinance and guidance.

TL;DR

  • Japan has no national accommodation tax — it’s levied local government by local government, including prefectures, municipalities, and towns, and each sets its own structure.
  • Tokyo uses price bands with a tax-free floor today, but is scheduled to switch to a 3% rate for higher-priced stays from April 1, 2027; Kyoto taxes paid, non-exempt stays from the first yen using fixed-yen brackets that rise with the room rate; other cities use a flat percentage instead of fixed amounts.
  • A common mistake we see is using the wrong taxable accommodation charge — treating mandatory cleaning or service charges as excluded when major regimes like Tokyo, Kyoto, and Osaka include them in the tax base.
  • Don’t assume OTA payouts include accommodation tax — coverage varies by platform, facility, and municipality, so operators need to confirm and file separately.
  • We open-sourced the calculation logic as japan-stay-tax on GitHub so anyone building booking or pricing tools doesn’t have to rebuild this from scratch.

Why Does Japan’s Accommodation Tax Vary by City?

Because there’s no national law setting one rate or structure — accommodation tax (宿泊税) in Japan is a local option tax, adopted city by city or prefecture by prefecture, and each one designs its own rules. Tokyo was an early adopter and uses price bands: stays below a nightly-rate threshold pay nothing, and above it the tax steps up in flat amounts per band. As of September 19, 2026, Tokyo taxes ¥10,000–under ¥15,000 at ¥100 and ¥15,000 and up at ¥200 per person per night, but from April 1, 2027 it is scheduled to change to a flat 3% for stays of ¥13,000 or more per person per night, and to expand the taxable scope to include simple lodgings and minpaku alongside hotels and ryokan. Kyoto took a different approach: it taxes paid, non-exempt stays from the first yen, with fixed-yen brackets that rise by accommodation charge — as of March 1, 2026, under ¥6,000 pays ¥200, ¥6,000 to under ¥20,000 pays ¥400, ¥20,000 to under ¥50,000 pays ¥1,000, ¥50,000 to under ¥100,000 pays ¥4,000, and ¥100,000 and up pays ¥10,000 per person per night. Osaka also bands its rates, but starts from a tax-free floor rather than taxing from zero. And it doesn’t stop there: several cities skip flat amounts entirely and charge a straight percentage of the room rate instead.

More local governments have been introducing, revising, or considering accommodation tax, so rule sets need periodic review. If you’re managing bookings across even two or three cities, you’re not applying one formula — you’re applying three or four, each with its own thresholds and its own edge cases.

What’s the Most Common Calculation Mistake?

A common mistake we see is using the wrong taxable accommodation charge. In major regimes such as Tokyo, Kyoto, and Osaka, mandatory cleaning or service charges are included in the taxable accommodation charge, while meals, consumption tax, local consumption tax, bathing tax, and separately charged non-accommodation services are excluded. Because banded and bracket systems key off that taxable charge, treating an included cleaning fee as excluded (or vice versa) can push a stay into the wrong band. Get that wrong and you either under-collect (and the shortfall comes out of your margin at remittance time) or over-collect (and now you owe a guest a correction).

Another common issue is simpler but just as costly: don’t assume accommodation tax is folded into what OTAs pay out. Some booking-site or travel-agency payments may include it, but coverage isn’t guaranteed and varies by platform and municipality. It’s on the operator to confirm the platform’s handling, work out the correct amount if needed, collect it (often at check-in, in cash or as a separate line item), and file it with the local government on its own schedule. Miss that step and you’re not looking at a rounding error — you’re looking at a compliance gap with an actual municipal filing deadline behind it.

How Do Flat, Banded, and Percentage Structures Actually Differ?

They differ in what triggers the tax and how the amount scales with price. A flat structure charges the same yen amount per person per night, sometimes with a room-rate threshold or personal exemptions — Atami, for example, charges ¥200 per person per night with no room-rate threshold, subject to personal exemptions. A banded structure — Tokyo and Osaka’s approach — divides room rates into tiers, and each tier has its own flat charge, so a ¥15,000 room and a ¥30,000 room in different bands pay different fixed amounts. A percentage structure skips fixed amounts altogether and charges a set percent of the room rate, so the tax itself scales continuously rather than jumping between bands. Kyoto’s bracket system sits somewhere in between — taxed from the first yen for non-exempt stays, but rising through defined brackets as the rate increases. None of these are interchangeable, and hardcoding one city’s logic and assuming it’ll work for the next city is exactly how operators and developers end up with quiet, compounding errors.

What We Built

We ran into this repeatedly while managing our own properties, so we extracted the logic into a standalone, open-source library: japan-stay-tax. It calculates Japanese accommodation tax across cities that use flat, banded, or percentage structures, so instead of every operator or developer writing their own city-by-city lookup table and getting the band boundaries wrong in slightly different ways, there’s one place that logic lives.

To be honest about where this fits: it’s a calculation library, not a full compliance system. It’s most useful if you’re building or maintaining your own booking, pricing, or accounting tooling and need accurate per-city tax figures rather than a full-service filing product. If you just want a single-property estimate and don’t touch code, this probably isn’t the right tool for you — but the underlying logic is public, so at minimum you can see exactly how a given city’s calculation works. It’s open source, so anyone can inspect it, use it, or contribute a city we haven’t covered yet.

FAQ

Q: Does OTA payout include accommodation tax?

Not necessarily. Some booking-site or travel-agency payments may include accommodation tax, but this varies by platform and municipality, so operators should confirm directly rather than assume either way.

Q: Why do flat and banded structures give different tax amounts for similar room rates?

Because a banded structure divides room rates into tiers with a fixed charge per tier, a room rate near a band boundary can end up in a different tier — and pay a different flat amount — than a very similar rate just on the other side of that line.

Q: Is japan-stay-tax a filing or remittance tool?

No — it’s an open-source calculation library for figuring out the correct tax amount across cities with different structures. It doesn’t handle collection, filing, or remittance to municipalities.


This post is for informational purposes only and does not constitute legal or tax advice. Please consult a qualified professional for your specific situation.