Design Number, Currency, and Unit Formatting
Content & UX Writing · microcopy, internationalization, tables
Updated 2026-07-28
- Format for reading, not for storage. A raw value straight from the database is a technical detail that leaks into the interface as a usability problem.
- Group thousands. A seven-digit number without separators has to be counted rather than read, and users will misread it by a factor of ten.
- Respect local conventions for separators, currency position, and negative values. Swapping a decimal point for a comma changes the meaning of a price by three orders of magnitude.
- Always name the currency when more than one is possible. A bare symbol is not enough in a product with several dollar or krone regions.
- Keep decimals consistent within a column. Mixed precision makes a table impossible to scan and makes small differences look like large ones.
- Align numbers to the right and use tabular figures. Digits of equal width are the difference between a column you can compare and a column you have to read.
- Abbreviate only where precision does not matter. Summary tiles can round to thousands, but an invoice line, an account balance, and an export never can.
- Attach the unit to the number and keep it visible. A column header that carries the unit stops working the moment the row is copied, exported, or read out.
- Be explicit about what zero, empty, and unknown mean. They are three different values and showing them all as a dash hides real information.
Numbers are the part of an interface people act on most literally, so formatting them is a correctness task, not a polish task.
Related guides