Bidi override. Displayed order can differ from stored order.
bidi-controlinvisibleThe right-to-left override forces everything after it to be displayed in reverse order, regardless of what the characters themselves are. It is the sharpest of the bidirectional controls, because it overrides rather than hints.
It is the character at the centre of Trojan Source, the 2021 finding that source code can be made to display in one order and compile in another. It also has a long history in filenames, where it can make an executable appear to end in a harmless extension.
Whenever the document genuinely contains right-to-left content. TraceFree checks for that before touching anything here, and holds back when it finds it.
In a document with no right-to-left text at all, a bidi control has nothing to do, and its presence is worth a second look.
| Preset | Action |
|---|---|
conservative | asked about |
default | removed |
report-only | asked about |
strict | removed |
Context guards can only ever make a cleanup gentler, never sharper. A rule saying “always remove” does not override them.
In TraceFree, turn on the clipboard watcher and copy the text — the finding appears with a before-and-after comparison of the affected lines. For files, a watched folder does the same, keeping a backup copy alongside.
This page never prints the character itself, only ways of writing it. A page about invisible characters that contained invisible characters would be unreviewable — and that is the problem the program exists to solve.
| Notation | Value |
|---|---|
| Unicode | U+202E |
| Rust | \u{202E} |
| JavaScript, Python | \u202E |
| HTML | ‮ ‮ |
| Regex (PCRE, Rust) | \x{202E} |