TextWash

This page finds U+202F NARROW NO-BREAK SPACE and converts it to a regular space. The sample below is a formatted time, straight from a modern date formatter. Everything runs in your browser — nothing is uploaded.

Input

X-ray hover a highlight for details

Cleaned output copied ✓

Cleaning rules

What is U+202F (narrow no-break space)?

A thinner version of the non-breaking space. It looks like a slightly tight normal space, wraps nowhere, and matches neither " " nor most naive whitespace regexes.

Where it comes from

The famous source: date and time formatting. macOS and iOS put U+202F before AM/PM, and in 2023 the ICU library (which powers Intl.DateTimeFormat in browsers and Node.js, plus formatting in many other languages) switched from a regular space to U+202F in formatted times — breaking a remarkable number of test suites and log parsers overnight. It's also correct French typography inside large numbers (42 000) and before : ; ! ?.

What it breaks

Anything that parses formatted times back: strptime-style patterns expecting "9:41 AM", snapshot tests comparing against last year's output, CSV pipelines, and string equality between "identical" timestamps produced by different platforms. The failure is maddening because both strings print identically.

How to find it

VS Code: regex-search \u202f. Command line: grep -rP '\x{202F}' . — or paste the string above: it's marked with a dot and converted to a plain space in the output. In your own code, prefer comparing parsed values (timestamps) rather than formatted strings.