漢数字（かんすうじ）は、数を表記するのに使われる漢字である（ただし「〇」は漢数字としてのみ使用される俗字である）。十進法の数詞および位取り記数法で用いる。前者は漢字文化圏内で相違がある。

中日新聞・東京新聞など、記事中（スポーツ面など一部を除く）でアラビア数字でなく漢数字を用い続けているメディアもある。

字 
漢数字には 0 から 9 を表す数字、10 の冪を表す位の字、それらを合わせた複合字がある。複合字は現在では一般的に使われていない。

小字と大字 
漢数字には「一」「二」「三」と続く小字と、「壱」「弐」「参」と続く大字がある。通常は小字を用いるが改竄を防ぐため重要な数字の表記では大字を用いることがある。

一覧 
以下に漢数字を示す。これらの字は零を除き、甲骨文字の時から使われており、意味に変化がない。ただし四と万は字形が変わっている。

混同や改竄を防ぐための特別な漢数字については大字を参照されたし。

字源

〇 

他の漢数字と異なり「〇」は新しい字であり、唐より前には現れない。唐の武則天（在位：690年 - 705年）が制定した則天文字に初めて「〇」が現れるが、これは「星」の代替字であり 0 の意味はなかった。星の球形を表した典型的な象形字で、楷書とは言いがたい文字であった（則天文字には、このように楷書的でない形の字がいくつかある）。

後漢に完成した『九章算術』には「（引き算の時）同符号は引き、異符号は加える。正を無入から引いて負とし、負を無入から引いて正とする」とある。この「無入」とは 0 のことであるが、専用の字はなく、表記には空白を用いていた。

718年、太史監（天文台長）の瞿曇悉達が『九執暦』を漢訳し、0 を点で記すインドの数字を導入した。しかし算木を用いていた中国の天文学者や数学者は受け入れなかった。『旧唐書』（945年）は 3040 および 0 を「三千四十」、「空」と記し、また『新唐書』（1060年）は 3201 および 0 を「三千二百一」、「空」と記している。この「空」は仏教の空と同じく、サンスクリット語の （シューニャ）の訳語である。現在も、朝鮮語とベトナム語は「空」を 0 の意味に用いる（/gong と không）。また江戸時代の和算家も 0 を「空（くう）」と呼んでいた。

南宋の時代、蔡元定（1135年 - 1198年）は『律呂新書』の中で、118098 および 104976 を「十一萬八千□□九十八」、「十□萬四千九百七十六」と書いている。この「□」は、以前から欠字を示すのに使われてきた記号、虚欠号である（中国語版: 虚缺号）。秦九韶の『数学九章』（1247年）では、算木数字で空位および 0 に「〇」を用いている。この「〇」は「□」が変化したものであり、アラビア数字の「0」ならびに則天文字の「〇」を借用したのではない。もっとも、インドの数字のゼロに触発された可能性もある。

現在、位取り記数法では主に「〇」を使うが、後述の通り、熟語には必ず「零」を用い、「〇」は使われない。現代において「〇」と表記する場面は、郵便物の宛名書きや名刺等において郵便番号・番地・電話番号といった数字情報を漢数字表記する場合や、縦書き文章で西暦年を漢数字表記する場合に、限定的に用いられる程度である（これらの場合に限り、「零」と表記することは一般的でない。）。そもそも「〇」の部首は不明である。このことから、「〇」は独立した文字ではなく記号とみなされており、一般に漢和辞典では漢字ではなく記号の扱いとなっているため、「〇」の文字コードも、漢字領域ではなく記号領域で定義されている。

なお、「〇(ゼロ,U+3007)」と「○(丸印,U+25CB)」は異なる文字コードが付与されており別字であるため、混用しないよう注意が必要である。

零 
「零」は『説文解字』にも出ている古い字で、音符の「令」と意符の「雨（あめかんむり）」を合わせた形声字である。元々は小雨（零雨）を意味し、後にわずかな量（零細、零余）の意味にもなったが、0 の意味はなかった。『孫子算経』（4世紀頃）では「零」が余りの意味で使われている。李冶は、『測圓海鏡』（1248年）の中で 1024 を「一千〇二十四」、2220302 を「二百二十二万零三百零二」と書き、「〇」と「零」を同一視している。それぞれ「一千とんで二十四」、「二百二十二万あまり三百あまり二」の意味である。

現在、熟語には必ず「零」を用いて、「零下」、「零封」などと書き、「〇」は使われない。

一、二、三、(亖) 
「一」、「二」、「三」、および「四」の古字の「」は、それぞれ 1 本、2 本、3 本、4 本の指または棒を示した指事字である。これらを「十」、「廿」、「卅」、「」の甲骨文字と比べると、横か縦かの違いだけである。これから、算木の横式と縦式を記したものだとも言われる。もしそうなら、算木の歴史は殷にまでさかのぼることになる。

古い異体字に「弌」、「弍」、「」がある。なお、「弍」を音符、「貝」を意符とする形声字が「貳」であり、それが変化して「貮」になり、さらに簡略化して「弐」になった。

四 
元々甲骨文字では「(U+4E96)」が使われた。しかし「三」と紛らわしい字であるため、後になって、仮借で「四」を使うようになった。

この「四」の本義は口から息が出る様子を表す象形字であり、金文で初めて使われた。なおこの「四」は後に意符の「口」を加えて「(U+546C)」という形声字で書かれることになった。

五 
「五」は交差する木で作られた蓋を表す象形字である。5 として使うのは仮借である。祝祷を収めた器に蓋をして守ることを表す象形字が「吾」であり、「」、「圄」にその音と意味が残っている。

六 
「六」は小さい幕舎（テント）を表す象形字だと考えられるが、その意味で使われたことはない。6 として使うのは仮借である。大字では「六」と同音の「陸」を用いるが、「六」を重ねた字が「」であり、これに（こざとへん）を加えて形声字の「陸」が造られた。

七 
「七」は小刀で骨を切る様子を表す象形字である。7 として使うのは仮借である。「七」に意符の「刀」を加えた「切」が、元の意味に充てられている。

八 
「八」は二つに分けることを表す指事字である。8 が 8 → 4 → 2 → 1 と二分できることを示すとされる。二分するという意味の「八」を含む字が、「分」や「半」である。

九 
「九」は体を曲げた竜を示す象形字とも（原義を示す字は「」か）、伸ばした手の状態を示す象形字とも、小さな木の芽を示す象形字とも言われる。9 として使うのは仮借である。

十、廿、卅 
これらは、甲骨文字では「一」、「二」、「三」、「(=四の古字)」を縦にしたものである。ただし縦線の下端で互いにつながっている。甲骨文字では五十～九十を表す場合、五～九の下に縦線を加えて表された。金文では、線の中央に点が加えられるようになった。この点が横に伸び、現在の字形になった。

「廿(20)」の異体字に「(U+5344)」がある。また、「卅(30)」の異体字に「丗(U+4E17)」があるが、「世」の異体字とも言われる。殷代では平均寿命が30歳ほどであったため、30年で1世代と考えられたためである。

現在では「廿」、「卅」、「(40,U+534C)」は一般的でなく、一般的にはそれぞれ「二十」、「三十」、「四十」と漢字2文字で書かれる。

百 
「百」は「一」と「白」を合わせた形声字である。「白」は単に音を示す。甲骨文字では二百を「二」と「白」、三百を「三」と「白」というように組み合わせる。

千 
「千」は「一」と「人」を合わせた形声字である。「人」は単に音を示すとも、人数の多さを表すとも言われる。甲骨文字では、二千を「二」と「人」、三千を「三」と「人」というように組み合わせる。

万 
日本の新字体および中国の簡体字では、10000 は「万」となっている。古くは「萬」と書いたが、10000の意味に「万」字を使うことも古くから行われている。

「万」は、「萬」の略字として生じたとする説もあれば、もともと別の字だったとする説もある。「万」が別字であるとしてもその字源には諸説あり、浮き草の象形とも、卍の変形ともいうが定説はなく、これも仮借して 10000 の意味に使われている｡ウィクショナリーも参照。

因みに仏教の吉祥の印である卍は、当初は徳と訳されたが、北魏の菩提流支は『十地経論』の中で、萬徳の意味を表す字として卍を萬（万）と訳した。693年、武則天は卍を萬と読むことを定め、以降、卍は萬（万）と通用するようになった。

萬 
日本でも中国でも大字で 10000 を表現する場合は今も「萬」と書く。

「萬」はサソリを表す象形字であり、仮借して 10000 の意味に使うようになった。なお、「萬」の下に「虫」のついた「(U+8806)」という字もあるが、この字は「タイ」と読む別字である。

億

数詞 
漢数字は主に数詞を表すために使われる。漢数字による数詞を漢数詞と呼ぶ。この場合、漢数字の通りに発音するので、数字より文字と見なすべきである。漢字文化圏の言語の数詞は基本的に古代の中国語に基づくが、多少の違いがあるため、表記にも当然違いがある。

上位から読むこと、大数は 4 桁ごとに区切ることは、共通である。

日本語 
日本語では、まず数を下位または小数点から 4 桁ごとに区切り、各 4 桁の組に「万」、「億」などの単位を付けて、上位から読む。4 桁の組の中では、「千」、「百」、「十」を単位として区切り、上位から読む。百位または十位が 1 のとき、「一」を言わず単に「百」、「十」と読む。千位は「一」を読んでも読まなくても良い。また、桁の数と単位が結びついて連濁や音便を起こす。

例:

読みは主に呉音だが、〇、四、七、九は異なる読み方をする。〇は元々漢音しか使わないが、残りは比較的最近の変化である。大槻文彦の『口語法別記』（1917年）には、以下の記述がある。

当時はまだ「よん」、「なな」、「きゅう」は一般的ではなく、呉音の「し」、「しち」、「く」が使われていたことが分かる。ただしこれは東京の場合で、大阪では江戸時代にすでに「よん」、「なな」、「きゅう」になっていたという。「ふた」は定着せず、株式市況や競馬などで使われるだけである。

ただし、四の後に助数詞が付くときに「よ」と読むのは古くから行われた。これは「死」との同音を避けたためである。ジョアン・ロドリゲスの『日本大文典』（1604年）第三巻、「数名詞に就いて」の「構成」には、以下の記述がある。

詳しくは四の字を参照すること。

小数や住所、電話番号などで数字を粒読みする時、二と五は「にー」、「ごー」と 2 拍で読む。また住所や電話番号などを粒読みする時は、〇を「まる」と読むことが多い。これは英語の oh と同じである。

中国語 
現代中国語では 100 以上の数に対しすべての 1 を略せずに読む。例えば 11111 は「」と読む。また、503 は「五百三」ではなく「」と読む。この「〇」の挿入は南宋以来の習慣である。「」と言うと、「五百三十」の省略すなわち 530 の意味になる。「〇」は「とんで」の意味なので、0 が続いても一回だけ読む。例えば 5003 は「」であり、「五千〇〇三」ではない。

「二」の代わりに「両」（普通話：liǎng, 上海語：lian, 広東語：leung5, 閩南語：）を用いるのも中国語の特徴である。「十」および「両」の前では「二」を使うが、それ以外では一般に「両」を用いる。単独使用の時や数字の最後位として数助詞なども付いていない時は「両」を使う方言はあるが、普通話では「二」しかほとんど使わない。「百」の前ではどちらでも良い。従って「2000」は「二千」ではなく「両千」である。

なお、春秋戦国時代までの中国語では、各桁の間に「と」を意味する「」や「」を挿入した。『論語』の「」では 15 は「」と書かれている。

数字を粒読みする時は、通常はをに言い替える。軍隊や航空、鉄道では、さらに特殊な音がある。以下に通常と軍隊の粒読み音を示す。

朝鮮語 
朝鮮語では 1 をなるべく省略する。従って、10000 は単に「만」であるが、110000 は「십일만」と読む。（ただし、日本語と同様に、重要な計算が必要な時には読む場合もある。）

ベトナム語 
ベトナム語ではほとんどの場合、固有語の数詞が用いられる。漢数字は「兆」（日本語の百万にあたる）以上の大数や 1 の位の「四」（10 の位が 2～9 の場合）ぐらいでしか使われない。また、1 の位の 1, 5, 10 に関しては以下のような声調や語彙の変化がある。
 1 (/𠬠) → 21 (/𠄩𨒒𠬠)：10 の位が 2～9 の場合
 5 (/𠄼) → 15 (/𨒒𠄻 もしくは /𨒒𠄶)：10 の位が 1～9 の場合
 10 (/𨒒) → 20 (/𠄩𨒒)：10 の位が 2～9 の場合
命数法においては漢数字の万進を採っておらず、西洋式の千進法を使っている。例えば、10000 は（𨒒𠦳、逐語訳：十千）、100000 は（𠬠𤾓𠦳、逐語訳：一百千）と読む。

大数 

現在は万万を億、万億を兆と呼ぶ。古くは万までしか位が無かったので、十万、百万、千万までだった。後に億、兆などが作られたが、その意味する位は一定しなかった。

現在日本・台湾・韓国で一般的な方式では、兆の後に続けて更に、全て1万倍ごとに（万進）京、垓、秭（日本では塵劫記による𥝱が標準的となった）、穣、溝、澗、正、載、極、恒河沙、阿僧祇、那由他、不可思議、無量大数となっているが、歴史的には万進以外にも、下数、万万進、上数などの方式があった。一方現代中国では、一般的に命数として使われるのは億（108）までであり、兆は下数によってメートル法の接頭辞のメガ（106）の意味で用いており、京以上は一般には使われなくなっている。

数詞以外の意 
漢数字は数詞以外の意味を持つこともある。例えば「一」は数詞を表す 1 の他に「ひとつにする」（統一）、「同じ」（同一）、「全て」（一斉）等の意味を持つ。「百」も「数が多い」という意味で用いる。

漢数字は数詞を兼ねた漢字であり、学研の『現代標準漢和辞典』の執筆者は、本当は数漢字と呼ぶのがふさわしいと記している。

小数 
漢数字は小数の位があり、先進的であった。十進小数は算木で容易に表せる。しかし大数の位と比べると、成立したのは遅かった。

秦は中国統一後、度量衡の単位も以下のように統一した。
 度（長さ）：1 引 = 10 丈 = 100 尺 = 1000 寸 = 10000 分
 量（体積）：1 斛 = 10 斗 = 100 升 = 1000 合 = 2000 龠
 衡（質量）：1 石 = 4 鈞 = 120 斤、1 斤 = 16 兩、1 兩 = 24 銖
その後、度の分、量の合、衡の銖のそれぞれ下位に以下の単位が加わった。これらは小数に近い考えだが、度量衡それぞれで異なる小単位があった。
 度：1 分 = 10 釐 = 100 毫 = 1000 絲 = 10000 忽
 量：1 合 = 10 抄 = 100 撮 = 1000 圭 = 6000 粟
 衡：1 銖 = 10  = 100 黍
劉徽は、『九章算術』の注釈において、75 平方寸を開平し、8.660254 寸と求め、これを「八寸六分六釐二秒五忽、五分忽之二」と書いている。絲は秒になっている。

唐後期に、衡の兩の下位に以下の単位が加わった。
 衡：1 兩 = 10 錢 = 100 分 = 1000 釐 = 10000 毫 = 100000 絲 = 1000000 忽
これにより、整数部に度量衡の単位を付け、小数部は分、釐、毫、絲、忽を使うようになり、汎用的な小数になった。15.92 寸は「一尺五寸九分二釐」、15.92 錢は「一兩五錢九分二釐」であり、0.92 を表す「九分二釐」は共通である。

日本語 
後に日本ではいくつかの単位は使う字が変わった。釐は厘に、毫は毛に、絲は糸になった。

江戸時代、歩合の基本単位は 1/10 を表す割であった。現代人が 1/100 を表すパーセントを使うのに近い。この時、3.26 寸を「三寸二分六厘」というように、3.26 割を「三割二分六厘」といった。

慣用句の五分五分および九分九厘は、それぞれ 0.5 対 0.5 および 0.99 という意味である。

1902年に設置された国語調査委員会により学術的に基礎調査された報告書に以下がある。
 分数：二分の一 (1/2)、三分の二 (2/3)、三つわりひとつ (1/3)
 割合：四分、五分（二分の一）、七分五厘、半分又は半ともいう（例：七つの半分、二時半、半町等）
 歩合：一割二分、二割三分五厘、この場合の「分」を「朱」ということがある。但し、これは利子の場合にいう。
 倍数：二倍、三倍、百倍など

分数 
中国では古くから小数が発達したため、分数の数詞は少なく、単独の字としては「半」しかない。古くは以下の語が使われた。

一般には、分母と分子の間に「分之」を入れる。 は「四分之三」である。現代日本語では「分の」と書く。現代と異なり、「分」の直後に単位を置いて、 寸を「四分寸之三」と呼んだ。

位取り記数法

十進表記
漢数字を十進表記の位取り記数法で用いることもできる。この場合、アラビア数字の 0 から 9 を単に〇から九に変えれば良い。読み方はそれぞれの言語による。小数点は中黒（・）を用いる。例えば 32.8 は数詞なら「三十二点八」だが、位取り記数法なら「三二・八」である。

漢数字の位取り記数法は新しい。漢字文化圏では、長らく算木が使われ、位取り記数法で漢数字を用いる必要がなかった。元までの漢文に「二八」とあったら、十六 の意味 (2×8) であって 二十八 ではない。

中国では、アラビア数字による筆算の翻案として漢数字の位取り記数法が現れた。梅文鼎の「筆算」（1693年）では、120303 を「一二〇三〇三」と書いて筆算している。

一方、日本の建部賢弘は『円理綴術』（1684年）の中で、算木を用いた代数学において 513 を「五一三」と書いている。この表記がアラビア数字と算木のどちらに由来するのかは不明である。

底が十を超える場合
桁の底が十を超える場合、アラビア数字を用いた方法では、十を A 、十一を B 、十二を C …というようにラテン文字のアルファベット大文字で表記する。一方、数字以外の分野では、 A を甲、B を乙、C を丙…というように、十干がアルファベット大文字の機能を果たしている。従って、桁の底が十を超える場合は十干を用い、A を「十」、B（= 十一）を「甲」、C (= 十二) を「乙」、D (= 十三) を「丙」…というように表記する。

例えば、「2A4」は「二十四」（十二進法で412、十六進法で676、二十進法で1004に相当）、「50D」は「五〇丙」（十六進法で1293、二十進法で2013に相当）、「9A.B」は「九十・甲」（十二進法で {118+(11/12)}、十六進法で {154+(11/16)}、二十進法で {190+(11/20)}に相当）という表記になる。特に十進法と区別する場合、「 (二十四)乙 」というように、括弧書きで N 進法を明記することになる。