How this page works

Three sections below: primary sources (the actual government documents we read), methodology (how we extract structured data from those documents), and ambiguity log (cases where the source text is unclear and how we resolved it).

Sources vs resources

Sources is the audit page.

Need the practical travel links instead? Use Resources for the official CDAC portal, airline proof, first-night address, train, and first-hour setup links.

Primary sources

Each line is a government document we read, when we last checked it, and what we extract from it.

nia-240h

China National Immigration Administration — 240h visa-free transit policy

Eligibility, stay duration, third-region rule, port list (65 ports / 24 provinces)

Last checked 2026-05-18 · Open source

nia-cdac

China National Immigration Administration — Online Arrival Card Filling Service

Digital Arrival Card (CDAC) — mandatory for all foreign arrivals since 2025-11-20

Last checked 2026-05-18 · Open source

nia-cdac-official

Official CDAC filing portal (the only safe site)

The only government-operated submission endpoint. Do not pay any third-party site.

Last checked 2026-05-18 · Open source

nia-unilateral-30d

China National Immigration Administration — 30-day unilateral visa-free country list

Ordinary passport holders covered by China's 30-day unilateral visa-free policy

Last checked 2026-05-18 · Open source

nia-mutual-visa-free

China National Immigration Administration — mutual visa exemption agreements

Ordinary passport holders covered by bilateral visa-free agreements

Last checked 2026-05-18 · Open source

china-malaysia-mutual-visa-free

Chinese Embassy in Malaysia — China-Malaysia mutual visa exemption agreement

Malaysia ordinary passport holders' 30-day visa-free entry to China

Last checked 2026-05-18 · Open source

gov-cn-policy

State Council English release — 240-hour visa-free transit policy

Government English summary of the 240h policy and Nov 2025 expansion

Last checked 2026-05-18 · Open source

indonesia-240h

Chinese Embassy in Indonesia — Indonesia added to the 240h policy

Confirms Indonesia was added as the 55th eligible country in June 2025

Last checked 2026-05-18 · Open source

Methodology

How we go from a long government policy page to the structured rules powering the eligibility check.

Step 1 · Extract

We pull structured lists from the NIA 240h transit notice and ordinary visa-free sources: the 55 transit-eligible passport countries, the 65 designated ports, the 24 eligible provinces & municipalities, the current unilateral 30-day visa-free country list, and selected bilateral visa-free agreements for ordinary passports.

Step 2 · Encode

The lists become typed data in src/data/rules.js. The 240h country list remains separate from the broader passport picker, so ordinary visa-free-only countries can appear in the entry checker without creating misleading /240h pages. Every entry carries a snapshot date so downstream pages inherit a consistent "as of" timestamp.

Step 3 · Verify monthly

We re-check NIA sources at least once per calendar month, and within 48 hours of any official policy announcement. The verification pass covers:

  • The English and 简体中文 versions of every primary source URL still resolve and the text hasn't changed materially.
  • Any new "notice" pages added under the nia.gov.cn news section that touch transit, visa-free, or arrival cards.
  • NIA WeChat-account announcements (which sometimes lead the english.nia.gov.cn page by a few days).
  • Cross-checks against US/UK/AU/CA embassy advisories — if an embassy reports a policy change that NIA hasn't published yet, we hold off until NIA confirms.

When a policy actually changes, we bump POLICY_SNAPSHOT_DATE in rules.js in the same commit that updates the data. The new date appears on every result page within 5 minutes of deploy.

Step 4 · Triangulate edge cases

Some questions are not explicitly answered by NIA's English notice. For those, we cross-reference with:

  • The 简体中文 version of the same notice (sometimes more specific than the English translation).
  • NIA press conferences and Q&A summaries published by Xinhua and People's Daily.
  • Documented airline / airport practice on FlyerTalk, The Points Guy, Tripadvisor, and Reddit r/travelchina (used as evidence of what actually happens at the counter, never as policy itself).
  • Embassy statements that quote a specific NIA clause we can independently verify.

Ambiguity log

Where the source text is genuinely unclear, we say so here and explain what we ship.

When does the 240-hour clock start?

NIA English text: "Foreigners eligible for visa-free transit can stay for up to 240 hours." The phrasing leaves the start time implicit.

What we ship: We treat the clock as starting at 00:00 local time the day after entry, which matches the long-standing 144-hour (former policy) and 72-hour (older policy) clock convention, and matches what immigration officers at major ports apply in practice. If your flight lands at 23:50, you effectively get a free 10 minutes before the clock starts — confirmed by multiple FlyerTalk reports from 2024-2025.

Is the West Kowloon HSR rail exit valid?

NIA English text: The 65-port list includes "West Kowloon Station" but does not explicitly classify it as a rail exit in the English notice.

What we ship: WKL is treated as a valid rail exit for 240h transit. The 简体中文 version of the same NIA notice names it as 西九龙站 (rail), and the co-location border-control arrangement at WKL means a traveler who exits via HSR from Futian / Shenzhen North into West Kowloon clears Chinese exit immigration inside the Futian station itself — the exit stamp is dated and recorded against the 240h window. We've verified this with travelers who have done it in 2025.

Do Hong Kong / Macau / Taiwan count as "third regions"?

NIA English text: The policy requires entering from one country/region and exiting to a "different country/region". HK, Macau, and Taiwan are politically part of China but administratively distinct with separate immigration regimes.

What we ship: Yes, all three count as different "regions" for the third-region requirement. This is consistent with the 144-hour predecessor policy interpretation, multiple embassy advisories, and airline check-in counter practice. We carry separate exit-handling logic for HK/Macau/Taiwan in src/lib/evaluate.js.

How we maintain freshness

  • Policy is reviewed at least once a month and after any NIA announcement.
  • The snapshot date is shown on every result page and on the Boarding Kit print-out.
  • When policy changes, we update the data file and snapshot date in the same release.
  • The maintenance log is at docs/maintenance.md in the repo (commit history is public).

Found a source we should add?

If you've seen an authoritative NIA or embassy clarification we haven't cited, send it to us. We prioritize anything that resolves an item in the ambiguity log above. See the disclaimer for what this site is and is not.