TextWash

This page finds U+200E LEFT-TO-RIGHT MARK and U+200F RIGHT-TO-LEFT MARK and removes them. The sample below is a date copied from Windows file properties — it carries three LRMs. Everything runs in your browser — nothing is uploaded.

Input

X-ray hover a highlight for details

Cleaned output copied ✓

Cleaning rules

What is U+200E (left-to-right mark)?

An invisible directional hint that tells text renderers "treat what follows as left-to-right". Its mirror is U+200F, the right-to-left mark. Both exist so mixed Latin/Hebrew/Arabic text renders in the right order — and both are invisible everywhere else.

Where it comes from

Windows is the classic source: dates and file paths copied from Explorer's Properties dialog carry LRMs between the parts. WhatsApp inserts them around phone numbers and timestamps in exported chats, Wikipedia articles use them around foreign-script names, and Google Maps puts them in copied coordinates.

What it breaks

Anything that compares or parses the copied string: a date that won't strptime ("unconverted data remains"), a path that fails os.path.exists even though the file is right there, phone numbers that fail validation, spreadsheet lookups that miss. Interpreters reject it in code with errors like Python's SyntaxError: invalid non-printable character U+200E.

How to find it in your editor

VS Code: regex-search [\u200e\u200f]. Command line: grep -rP '[\x{200E}\x{200F}]' . — or paste the text above: each mark is flagged (LRM/RLM) and the cleaned output drops them. Unlike the bidi overrides, lone LRM/RLMs in copied Latin text are harmless to remove.