Chinese Numerals Converter (一二三 and 壹贰叁)

Convert between Western digits and Chinese numerals — the everyday 一二三 form and the financial 壹贰叁 form used on cheques and invoices — in both directions.

—

What this tool does

Chinese writes numbers with characters rather than digits, and it does so in two registers. The everyday register — 一二三四五六七八九十, plus 百 hundred, 千 thousand, 万 ten-thousand and 亿 hundred-million — is what appears in prose and speech. The financial register replaces the same digits with the more elaborate 壹贰叁肆伍陆柒捌玖 and the units 拾佰仟, so that an amount cannot be changed by adding a stroke.

The tool converts in both directions. It also handles the one genuinely awkward part of the system: where a zero has to be written so that the number is not misread, and where it must not be.

Method

ElementRule
Digits 0–9零一二三四五六七八九 (financial: 零壹贰叁肆伍陆柒捌玖).
Units十 10, 百 100, 千 1000 (financial: 拾 佰 仟).
Ten-thousands万 104, 亿 108, 万亿 1012 — Chinese groups by four digits, not three.
Teens10–19 read 十, 十一, 十二 … ; the initial 一 is omitted in the everyday form, kept in the financial form (壹拾).
ZerosA single 零 stands in for a gap: 105 is 一百零五, 10001 is 一万零一. No 零 is written where the groups already make the value unambiguous.

Example

DigitsEverydayFinancial
10十壹拾
105一百零五壹佰零伍
1001一千零一壹仟零壹
10100一万零一百壹万零壹佰
1234567一百二十三万四千五百六十七壹佰贰拾叁万肆仟伍佰陆拾柒

Ten thousand, not a thousand

The single most important difference from English is the grouping unit. English groups in thousands — thousand, million, billion — while Chinese groups in ten thousands:

ValueChinese unitEnglish grouping
10,000万 (wàn)ten thousand
100,000,000亿 (yì) — 10,000 万one hundred million
1,000,000,000,000万亿 (wàn yì) — 10,000 亿one trillion

This is why 1234567 is 一百二十三万四千五百六十七 — literally “one hundred twenty-three ten-thousand, four thousand five hundred sixty-seven”. Reading it as “one million two hundred thirty-four thousand…” is the English habit, and it produces the wrong grouping. The number is the same; the unit boundaries are not.

The zero rule

Zeros need care because Chinese does not write one 零 per zero digit. The rule is: write 零 once for a run of zeros, and only when that run falls between two non-zero digits. Zeros at the end of a group are dropped entirely.

NumberWrittenRule applied
105一百零五one zero between 一 and 五 → one 零
1005一千零五two zeros, still one 零
150一百五十trailing zero → no 零 at all
1001一千零一zero run between digits → 零
10100一万零一百the zero is inside the 万 group boundary

The last row is the subtle one: 10100 is not “一百零一万” — the 万 applies to the leading 1, and the 0 in the thousands place introduces a 零 before 一百. Getting the placement of the unit symbol relative to the zero wrong is the most common error, and it is what the round-trip test on this page is checking.

Everyday and financial forms

Chinese has two numeral systems, and they are not interchangeable in use. The everyday forms — 一二三四五六七八九十百千 — are what you read in normal text. The financial forms — 壹贰叁肆伍陆柒捌玖拾佰仟 — use characters that are harder to alter, because the everyday forms are simple strokes that a dishonest hand can change: 一 (one) can become 二 (two) or 十 (ten) with one stroke, and 三 (three) into 五 (five).

That is the entire purpose: financial numerals exist for cheques and contracts, where a written amount must not be forgeable. The paired table is worth learning if you deal with Chinese invoices:

DigitEverydayFinancialDigitEverydayFinancial
1一壹6六陆
2二贰7七柒
3三叁8八捌
4四肆9九玖
5五伍0零零

The unit symbols also change: 十 → 拾, 百 → 佰, 千 → 仟. 万 and 亿 keep their forms.

The 两 variant

There is a third form for two: 两 (liǎng), used with measure words — 两个人 (two people), 两本书 (two books) — while 二 is used for counting and in compound numbers (二十二, 二百). This tool converts number to text, so it produces 二; 两 is a grammatical choice that depends on the noun that follows, which a numeral converter cannot know.

If you are generating a phrase rather than a numeral, 两 is usually what a native speaker would say for “two of something”. Treat the output of this tool as the numeral form, not as a finished sentence.

Beyond the supported range

The largest unit supported here is 万亿 (ten thousand 亿, i.e. 1012). Beyond that, Chinese continues with 兆 (1016) and 京, but usage varies by region and era, and a converter that silently picks one convention would be guessing. Values above the supported range are reported as out of range rather than converted with an invented unit.

Reading it back

The reverse direction — Chinese characters to digits — is more forgiving, because it does not have to choose between conventions. Both the everyday and financial forms are accepted, so a value copied from a cheque and a value copied from an article both parse. The one thing it cannot do is resolve ambiguity between 两 and 二, since both mean two; it reads either as 2.

Frequently asked questions

What is the difference between 二 and 两?

Both mean two, but 两 is used with measure words (两个人, two people) while 二 is the counting and ordinal form (第二, second). A numeral converter produces the reading form 二; choosing 两 depends on the noun that follows, which is grammar, not arithmetic.

What is the difference between the two Chinese forms?

The everyday form uses 一二三四五六七八九十 and is what you read in prose. The financial form uses 壹贰叁肆伍陆柒捌玖拾佰仟 and is used on cheques, invoices and contracts, because the ordinary characters are too easy to alter with a single stroke.

Why does 200 come out as 二百 and not 两百?

Both are correct: 两百 is the spoken form and 二百 the written form. This tool prints the written form 二百 so the output is deterministic; if you need the colloquial 两, use it in speech or replace 二 with 两 before the unit yourself.

How are the four-digit groups handled?

Chinese groups digits by ten-thousand, not by thousand: 万 is 10,000 and 亿 is 10^8. The tool inserts 零 only where a zero would otherwise be lost, so 10001 is 一万零一 and 10100 is 一万零一百.

Can I convert back from Chinese characters?

Yes. The reverse direction reads either form, including the colloquial 两, and returns the value as digits. A string that is not a Chinese numeral is rejected rather than guessed at.

How large a number is supported?

Up to 万亿 (10^12) and beyond within JavaScript’s safe integer range. The grouping logic is the same as for smaller numbers.

Sources

  • The Chinese numeral system as described in standard references on Chinese orthography (CJK numerals, Unicode block U+4E00–U+9FFF).
  • The financial/capital form (大写) widely mandated for amounts on cheques and financial documents in the PRC.

Everything runs in your browser — nothing you type is uploaded.