Number & Date Normaliser
Messy numbers and dates into one canonical form each — decimal comma or point, thousands, currency, percent; day- or month-first, month names, two-digit years.
One clean value per line (plain decimal, ISO YYYY-MM-DD) with the rule that fired and a flag on anything ambiguous, impossible or not recognised — nothing is guessed silently.
Example: "1.234,56" → 1234.56; "$1,234.50" → 1234.5; "(500)" → −500; "21/09/2026" → 2026-09-21; "09/21/26" under day-first is impossible, so it is swapped and flagged; "Sept 21, 2026" → 2026-09-21.
One value per line,
one rule per row.
How numbers and dates are read, which cases are flagged, and what is not attempted.
Numbers
Prefix symbols (currency), a trailing %, apostrophes and spaces are stripped; parentheses or a trailing minus mean negative; fullwidth digits and the unicode minus are folded. The decimal mark is the one you state, or inferred: with both , and . present the later one is decimal; a single separator followed by exactly three digits is a thousands group (1,234), otherwise it is decimal (1,5). The result is a plain decimal with a point, optionally to fixed decimals.
Dates
ISO 8601 is read as is (with an optional time). Three numbers separated by / . or - are read in the day order you state, with a two-digit year pivoted at your year; month names (Sep, September, Sept) are read in any position. Every date is checked against the calendar — an impossible one is flagged, and a numeric date that only works in the other order is swapped and flagged so the column can be reviewed.
Flags
Ambiguous dates (both parts ≤ 12), impossible dates, percentages and unrecognised values are flagged rather than guessed; the output keeps their line as a comment so the row count stays aligned with the input. No locale database is used — the rules above are all there is. Nothing leaves the browser; the same four anonymous usage counts as the rest of the site apply.
SOURCES
- Separators and prefixes stripped, decimal mark stated or inferred (one separator before three digits = thousands); dates per your day order, ISO 8601 output, two-digit years pivoted at your year
Last reviewed 21 September 2026. How results are checked: How we verify.