YOUR CODE. YOUR CONTROL.
Find your flow.
Two versions. A clearer view. Make every change your own.
Show locations
Show locations
Features and limitations
Comparison includes spaces, tabs, and the final newline. Downloads preserve the original LF / CRLF / CR line endings, mixed line endings, and UTF-8 BOM. New lines typed in an editor use that file’s main line-ending format.
Syntax is checked automatically after edits and block transfers for JavaScript/JSX, TypeScript/TSX, JSON, and YAML. Python has a preliminary grammar and indentation check; it does not replace validation with Python itself. Click a diagnostic to go to its line. The selected language applies to both versions.
Each text is checked as a complete file, so incomplete snippets may be reported as errors. Code is never corrected automatically. Valid syntax does not guarantee correct behavior: moving a Python line into another valid block can change its meaning without a syntax error. TypeScript checks do not include type checking. Other languages have highlighting only.
Open UTF-8 text files up to 512 KB, 200,000 characters, and 4,000 lines per side. Code is not run or checked for logic errors. For large differences, several changes may be grouped into one block.
Ctrl/Cmd+Z undoes an edit in the active editor. Tab indents; press Esc, then Tab to leave the editor. Copy and paste snippets from ChatGPT, Claude, or Gemini. Chats are not accessed automatically. The clipboard may change line endings; use Download B to preserve them exactly.