漢数字
〇、零
他の漢数字と異なり「〇」は新しい字であり、唐より前には現れない。唐の武則天（在位：690年 - 705年）が制定した則天文字に初めて「〇」が現れるが、これは「星」の代替字であり 0 の意味はなかった。星の球形を表した典型的な象形字で、楷書とは言いがたい文字であった（則天文字には、このように楷書的でない形の字がいくつかある）。
後漢に完成した『九章算術』には「（引き算の時）同符号は引き、異符号は加える。正を無入から引いて負とし、負を無入から引いて正とする」とある。この「無入」とは 0 のことであるが、専用の字はなく、表記には空白を用いていた。
718年、太史監（天文台長）の瞿曇悉達が『九執暦』を漢訳し、0 を点で記すインドの数字を導入した。しかし算木を用いていた中国の天文学者や数学者は受け入れなかった。『旧唐書』（945年）は 3040 および 0 を「三千四十」、「空」と記し、また『新唐書』（1060年）は 3201 および 0 を「三千二百一」、「空」と記している。この「空」は仏教の空と同じく、サンスクリット語の शून्य（シューニャ）の訳語である。現在も、朝鮮語とベトナム語は「空」を 0 の意味に用いる（공/gong と không）。また江戸時代の和算家も 0 を「空（くう）」と呼んでいた。
南宋の時代、蔡元定（1135年 - 1198年）は『律呂新書』の中で、118098 および 104976 を「十一萬八千□□九十八」、「十□萬四千九百七十六」と書いている。この「□」は、以前から欠字を示すのに使われてきた記号、虚欠号である（中国語版: 虚缺号）。秦九韶の『数学九章』（1247年）では、算木数字で空位および 0 に「〇」を用いている。この「〇」は「□」が変化したものであり、アラビア数字の「0」ならびに則天文字の「〇」を借用したのではない。もっとも、インドの数字のゼロに触発された可能性もある。
一方、「零」は『説文解字』にも出ている古い字で、音符の「令」と意符の「雨（あめかんむり）」を合わせた形声字である。元々は小雨（零雨）を意味し、後にわずかな量（零細、零余）の意味にもなったが、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 を表現する場合は今も「萬」と書く。
「萬」はサソリを表す象形字であり、仮借で 10000 の意味に使うようになった。なお、「萬」の下に「虫」のついた「蠆(U+8806)」という字もあるが、この字は「タイ」と読む別字である。「万」は、浮き草の象形とも、卍の変形ともいうが定説はなく、これも仮借で 10000 の意味に使われている｡
一方、仏教の吉祥の印である卍は、当初は徳と訳されたが、北魏の菩提流支は『十地経論』の中で、卍を萬と訳した。萬徳の意味である。693年、武則天は卍を萬と読むことを定め、以降、卍は萬と通用するようになった。
大字
改竄を防ぐためにもっぱら公文書などで使う漢数字を大字と呼ぶ。現在の日本では壹、貳、參、拾を用いる。
数詞
漢数字は主に数詞を表すために使われる。漢数字による数詞を漢数詞と呼ぶ。この場合、漢数字の通りに発音するので、数字より文字と見なすべきである。漢字文化圏の言語の数詞は基本的に古代の中国語に基づくが、多少の違いがあるため、表記にも当然違いがある。
上位から読むこと、大数は 4 桁ごとに区切ることは、共通である。
朝鮮語
朝鮮語では千位の 1 を読まない(修正: 重要な計算が必要な時には読む場合もある)。また「万」の前の 4 桁の組が 1 である時も読まない。従って、10000 は単に「万」であるが、110000 は「十一万」と読む。
大数
現在は万万を億、万億を兆と呼ぶ。古くは万までしか位が無かったので、十万、百万、千万までだった。後に億、兆などが作られたが、その意味する位は一定しなかった。
数詞以外の意
漢数字には数詞だけの意味を持たない。例えば「一」は数詞を表す 1 の他に「ひとつにする」（統一）、「同じ」（同一）、「全て」（一斉）等の意味を持つ。「百」も「数が多い」という意味で用いる。
漢数字は数詞を兼ねた漢字であり、学研の『現代標準漢和辞典』の執筆者は、本当は数漢字と呼ぶのがふさわしいと記している。
十進表記
漢数字を十進表記の位取り記数法で用いることもできる。この場合、アラビア数字の 0 から 9 を単に零から九に変えれば好い。読み方はそれぞれの言語による。小数点は中黒（・）を用いる。例えば 32.8 は数詞なら「三十二点八」だが、位取り記数法なら「三二・八」である。
漢数字の位取り記数法は新しい。漢字文化圏では、長らく算木が使われ、位取り記数法で漢数字を用いる必要がなかった。元までの漢文に「二八」とあったら、十六 の意味 (2×8) であって 二十八 ではない。
中国では、アラビア数字による筆算の翻案として漢数字の位取り記数法が現れた。梅文鼎の「筆算」（1693年）では、120303 を「一二〇三〇三」と書いて筆算している。
一方、日本の建部賢弘は『円理綴術』（1684年）の中で、算木を用いた代数学において 513 を「五一三」と書いている。この表記がアラビア数字と算木のどちらに由来するのかは不明である。