China License Plate Rules and Validation: Standard, New Energy, and Special Formats Explained
Entering vehicle records, post-processing license plate recognition output, writing form validation rules — all of it starts with knowing how plate numbers are encoded. This post covers every class of plate currently in use in mainland China.
Standard blue plates (GA36-2018)
The standard structure is 7 characters:
province abbreviation + issuing-authority letter + 5-character serial
京A·12345
- Province abbreviation (31 in use): 京津沪渝冀豫云辽黑湘皖鲁新苏浙赣鄂桂甘晋蒙陕吉闽贵粤青藏川宁琼 — the first four (京津沪渝) are the directly-administered municipalities Beijing, Tianjin, Shanghai, and Chongqing; the rest are short names for provinces and autonomous regions (冀 Hebei, 豫 Henan, 云 Yunnan, 辽 Liaoning, 黑 Heilongjiang, 湘 Hunan, 皖 Anhui, 鲁 Shandong, 新 Xinjiang, 苏 Jiangsu, 浙 Zhejiang, 赣 Jiangxi, 鄂 Hubei, 桂 Guangxi, 甘 Gansu, 晋 Shanxi, 蒙 Inner Mongolia, 陕 Shaanxi, 吉 Jilin, 闽 Fujian, 贵 Guizhou, 粤 Guangdong, 青 Qinghai, 藏 Tibet, 川 Sichuan, 宁 Ningxia, 琼 Hainan).
- Issuing-authority letter: A–L and N–Z (no I or O, to avoid confusion with 1 and 0); O was once reserved for police use and never appears on civilian plates.
- 5-character serial: letters and digits combined (likewise without I or O); an all-letter serial is not allowed.
New energy vehicle plates (GA36D-2018, piloted 2016)
An 8-character structure, rolled out nationwide in 2018:
province abbreviation + authority letter + 6-character serial
京AD12345
The 3rd character (the first serial character) marks the vehicle type:
- Starting with D/A/B/C/E → battery electric (D is by far the most common)
- Starting with F/G/H/J/K → not purely electric (plug-in hybrid, range-extender, etc.; F is the most common)
On small vehicles (the blue-plate counterpart), D/F leads the serial; on large vehicles (the yellow-plate counterpart), D/F sits at the end.
Special formats at a glance
| Type | Structure | Example |
|---|---|---|
| Armed police | WJ + 2-char region + 5 digits | WJ京·12345 |
| Embassy | 3-digit country code + 4-character serial + 使 | 123·4567·使 |
| Consulate | Same as embassy, ending in 领 | 123·4567·领 |
| Trailer | Standard structure, may end in 挂 | 京A·123挂 |
| Driving school | Ends in 学 | 京A·123学 |
The trailing suffix characters are Chinese words: 使 (shǐ, "embassy"), 领 (lǐng, "consulate"), 挂 (guà, "trailer"), and 学 (xué, "learner"). The WJ prefix stands for 武警 (wujing, armed police), and 京 in the examples is again the Beijing abbreviation.
Hong Kong / Macau dual-plates (粤Z + 4 digits + 港/澳) are a cross-border special category, with a format distinct from mainland plates.
The limits of validation: format ≠ real
Chinese plate numbers carry no check digit (unlike the resident ID number's MOD 11-2 scheme), so:
- What can be validated: structural legality — character count, a valid province abbreviation, the banned letters I/O, D/F position on NEV plates.
- What cannot: whether the number is actually registered. That takes DMV data, and any free tool claiming to "check whether a plate is real" is overreaching.
The ToolVault plate validator does the former: type in a plate and it tells you whether the structure is legal, resolves the province and issuing-authority letter, and classifies the NEV type. Everything runs locally in the browser.
Common validation pitfalls
- The middle dot: real plates carry no
·, but users type it constantly. A validator should strip it leniently, and storage should normalize it away. - Case: the NEV D/F often arrives in lowercase — normalize before validating.
- O vs 0: when a user types
京A·123O6, the O is technically illegal — but it's almost certainly a mistyped 0. A good validator asks "did you mean 0?" instead of returning a bare rejection. - Legacy 5-character NEV trial plates: the early 2016 pilot format differs from the final GA36D version, so historical data must be validated against the rules of its day.
Implementation notes
Model the plate rules as a pure-function module — a province table plus a separate checker per plate class — rather than one giant regex. The NEV D/F position logic, the armed-police digit segments, and the embassy country-code segment each get an independent checker, so a failure points at the exact rule; a mega-regex is a maintenance disaster. Test cases should cover all 31 province abbreviations and every banned-letter variant — precisely the edges hand-written regexes miss most.
Bottom line
For standard plates, remember "7 characters, no I/O"; for NEV plates, "8 characters, D = battery electric, F = hybrid, large vehicles carry the letter last." For input validation, check structure against the license plate validator; whether a plate actually exists in the registry is beyond any legitimate free tool.
Related Tools
Related Articles
HTTP Status Codes Reference: Quick Lookup Guide
Complete HTTP status code reference. Understand 1xx, 2xx, 3xx, 4xx, 5xx categories, common scenarios, and correct usage in API development.
What Is GEO? Generative Engine Optimization: The New Traffic Frontier of AI Search
GEO (Generative Engine Optimization) is to AI search what SEO is to Google — when ChatGPT, Perplexity, and Google's AI Overviews answer questions directly, users stop clicking links, and being cited by AI becomes the new traffic entry. This post breaks down the four essential differences from SEO, the four core practices (crawlability, structure, citability, fact density), and real GEO data from a working tool site.
llms.txt, Explained: A Site Manual for LLMs — and Whether Yours Deserves One
llms.txt is a 2024-proposed markdown file at your site root that tells large models what's worth reading. This post breaks down the spec structure (H1 + summary + tiered links), how it divides labor with robots.txt and sitemap, multi-file digests (zh / full), common failure modes, and a real auto-generated implementation — with a skeleton and annotation recipes you can copy.