For a tour of text normalization across all categories, see Text normalization. For specific patterns Rime doesn’t expand cleanly, see Pre-normalizing text.
Numbers
Currency
Dozens of currency symbols and ISO codes are supported, including
$, €, £, ¥, ₹, ₺, ₪, ₩, CHF, HK$, AUD$, US$, and three-letter codes such as USD, EUR, GBP, JPY. Scale abbreviations K, M, B, bn are recognized.
Ranges
Ranges with hyphens or en-dashes between numeric values read as “X to Y,” with shared units on the right:13-50, 35-58 mph, 49-56 °C, 78-84%, 67-77 mg.
Measurements
Phone numbers
US and international formats both work natively, with parentheses, hyphens, or spaces as separators.Roman numerals
English does not expand Roman numerals; they pass through as written, with or without a context word (the sole exception is the whitelist entryWorld War II, read as “World War two”). Use spell() or write the number out.
Known gaps
A few specific patterns aren’t reliably expanded; most commonly bare 5+ digit runs without separators (10000000), a bare m with no denominator (1m reads as “one million”), ampere and joule units (5A, J), and Roman numerals. For the full list and a drop-in prompt template to handle them, see Pre-normalizing text.
Related
- Symbols and percentages for standalone
$,%,&,# - Dates and times for years and clock times
- Addresses, URLs, and emails for ZIP codes
- Spell function for forced letter-by-letter reading of IDs, account numbers, and codes

