Numeral System Converter
Pick a source and target script, paste text, and every digit is converted in place. Letters and punctuation are never touched, and the value of the number does not change.
—
What this tool does
A numeral system is a set of glyphs for writing numbers; a writing system is the letters. Many
scripts have both, and their digits are frequently mixed with Western Arabic numerals in the
same document. That is fine for a human reader and awkward for software: a database column
expecting 123 will not accept ๑๒๓, sorting puts them in the wrong
order, and search misses matches entirely.
This tool converts between twenty-two digit sets defined in the Unicode Standard, and can also normalise a mixed text to Western Arabic numerals in one step.
Method
Every supported script stores its ten digits as consecutive code points, with zero at a known base. The converter builds the source and target digit strings from those bases and performs a one-to-one glyph substitution; digits that do not appear in the source script are left unchanged. This is why the conversion is lossless and why mixed text survives intact. The normalise mode scans for digits from every supported script and maps each one to its Western Arabic equivalent.
Supported scripts
| Script | Digits | Used in |
|---|---|---|
| Western Arabic (0–9) | 0123456789 | Worldwide |
| Thai | ๐๑๒๓๔๕๖๗๘๙ | Thailand |
| Lao | ໐໑໒໓໔໕໖໗໘໙ | Laos |
| Khmer | ០១២៣៤៥៦៧៨៩ | Cambodia |
| Myanmar (Burmese) | ၀၁၂၃၄၅၆၇၈၉ | Myanmar |
| Devanagari | ०१२३४५६७८९ | Hindi, Marathi, Nepali |
| Bengali | ০১২৩৪৫৬৭৮৯ | Bengali, Assamese |
| Gurmukhi | ੦੧੨੩੪੫੬੭੮੯ | Punjabi |
| Gujarati | ૦૧૨૩૪૫૬૭૮૯ | Gujarat |
| Odia | ୦୧୨୩୪୫୬୭୮୯ | Odisha |
| Tamil | ௦௧௨௩௪௫௬௭௮௯ | Tamil Nadu, Sri Lanka, Singapore |
| Telugu | ౦౧౨౩౪౫౬౭౮౯ | Andhra Pradesh, Telangana |
| Kannada | ೦೧೨೩೪೫೬೭೮೯ | Karnataka |
| Malayalam | ൦൧൨൩൪൫൬൭൮൯ | Kerala |
| Sinhala Lith | ෦෧෨෩෪෫෬෭෮෯ | Sri Lanka |
| Tibetan | ༠༡༢༣༤༥༦༧༨༩ | Tibet |
| Arabic-Indic | ٠١٢٣٤٥٦٧٨٩ | Arabic-speaking countries |
| Extended Arabic-Indic (Persian, Urdu) | ۰۱۲۳۴۵۶۷۸۹ | Iran, Pakistan, Afghanistan |
| Mongolian | ᠐᠑᠒᠓᠔᠕᠖᠗᠘᠙ | Mongolia |
| Full-width | 0123456789 | CJK typography |
| Mathematical bold | 𝟎𝟏𝟐𝟑𝟒𝟓𝟔𝟕𝟖𝟗 | Mathematical notation |
| Mathematical double-struck | 𝟘𝟙𝟚𝟛𝟜𝟝𝟞𝟟𝟠𝟡 | Mathematical notation |
Example
| Input | Direction | Output |
|---|---|---|
| เลขที่ ๑๒๓/๔๕ | Thai → Western Arabic | เลขที่ 123/45 |
| १२३ | Devanagari → Western Arabic | 123 |
| ١٢٣ | Arabic-Indic → Western Arabic | 123 |
| 123 | Western Arabic → Khmer | ១២៣ |
| 123 | Western Arabic → Full-width | 123 |
Frequently asked questions
What is a numeral system script?
Many writing systems have their own ten digit glyphs for 0–9 while using the same decimal idea. Thai ๐, Devanagari ० and Arabic-Indic ٠ all mean zero; the value is identical, only the shape changes.
Does converting change the number?
No. It is a glyph-for-glyph substitution, so ๑๒๓ and 123 represent the same value. Nothing is rounded or reformatted.
Can I mix scripts in one text?
Yes. The converter only replaces digits belonging to the selected source script, so letters, punctuation and other scripts pass through untouched. There is also a normalise mode that turns every digit it recognises into Western Arabic numerals.
Why would I need this?
Numbers copied from official documents, PDFs and scanned forms often use local digits. Systems that expect 0–9 will reject them, and sorting behaves inconsistently. Converting normalises the data without changing it.
Does it work in Excel or Google Sheets?
Neither has a built-in function for these digit sets, and results vary by locale. The reliable route is to convert here and paste the values back, or to use a script-based custom function.
Are the digit tables complete?
Yes. Each row maps ten consecutive code points from the Unicode Standard, so every digit of that script is covered.
Go deeper
Longer explanations of the problems this tool solves:
Sources
- Unicode Standard, Digits and the script blocks listed above (Thai, Lao, Khmer, Myanmar, Devanagari, Bengali, Gurmukhi, Gujarati, Odia, Tamil, Telugu, Kannada, Malayalam, Sinhala, Tibetan, Arabic, Mongolian, Full-width Forms, Mathematical Alphanumeric Symbols).
- The Unicode Character Database, which defines the general category
Nd(decimal digit) used to validate the tables.
Everything runs in your browser — nothing you type is uploaded.