What this converter does
The Digits to Words Converter reads a string one character at a time and speaks each digit as its own word. Type 08/21/2024 and you get zero eight two one two zero two four. This is the format people use out loud for tracking numbers, dates, serial numbers, account numbers, decimals and dollar amounts — not the cardinal form. It will not turn 123 into "one hundred twenty-three"; instead it gives "one two three", because that is how such codes are normally dictated.
How to use it
1. Paste your string into Convert these Digits (up to 300 characters). 2. Pick a Language — 12 are supported, including English, Spanish, French, German and more. 3. Choose a Letter Case: lowercase, UPPERCASE, or Title Case for display. 4. Tick Special characters to words? if you want - / . , and spaces spoken as dash, slash, dot, comma and space. Leave it off and those separators are simply dropped.
The rule, explained
The tool walks left to right. Each digit 0-9 maps to a word from the selected language's table. If "special" is on, the five listed punctuation characters are also converted and kept in sequence; if it is off they are skipped. Any other letter or symbol passes through unchanged. The emitted words are joined with single spaces, then the chosen case is applied (Title Case capitalizes each word's first letter).
$$\text{words} = \bigsqcup_{i} \text{lookup}(\text{char}_i)$$
$$\text{out} = \text{join}_{\,\sqcup}\big(\text{map}(c_1), \text{map}(c_2), \dots, \text{map}(c_n)\big)$$
Worked example
Input 357.99, English, UPPERCASE, special on: characters 3, 5, 7, ., 9, 9 become "three five seven dot nine nine", then upper-cased to THREE FIVE SEVEN DOT NINE NINE. With special off the dot is dropped, giving "three five seven nine nine".
FAQ
Why doesn't 123 become "one hundred twenty-three"? This is a character-by-character reader, ideal for codes you spell out. For cardinal words use a number-to-words tool instead.
What happens to letters in a tracking number like 1W1Z9Y? Digits are spelled out; unmapped letters such as W, Z and Y pass through unchanged.
Is there a length limit? Yes, 300 characters per run. Split longer strings into multiple entries.