Skip to content
Marvin's Toolbox.

Search tools

Type to filter all tools

Invisible Character Revealer

Reveal the characters you can't see in a text: zero-width spaces, non-breaking spaces, bidi marks, control characters and CRLF versus LF line endings. Inspect every occurrence and clean them out with a click.

Everything runs locally in your browser. Your data never leaves your device.

Input

Next steps

Send this tool's output straight into another tool.

Convert text into every case at once: title case in the APA, AP, Chicago, MLA, Bluebook, AMA and NYT styles, sentence case, upper, lower, camelCase, snake_case, kebab-case and more.

Count words, characters, sentences, paragraphs, lines and more as you type, with estimated reading and speaking time.

Remove duplicate lines from a list or text, keeping the first occurrence. Optionally ignore case and whitespace, or drop blank lines too.

Replace text in two modes: plain find and replace all, or regular expressions with flag controls and capture group references like $1.

Compare two texts and see every added, removed and changed line highlighted, side by side or inline, with the changed words marked within each line. Ignore case, whitespace or blank lines, read a summary of how much changed, and export the result as a unified diff.

Paste a UUID to see what it carries: version, variant, and for time-based versions the exact timestamp, clock sequence and node. Also shows the raw bytes, the 128-bit integer and the URN form.

Decode Base64 to text or encode text to Base64. Paste into the top box, read the result below, and flip the direction with one click. Handles Unicode correctly, reads URL-safe Base64, and shows binary payloads as a hex dump you can download.

Convert numbers between binary, octal, decimal, hexadecimal and any base up to 36. Type into any field and the others update as you go. Handles huge integers without losing precision and accepts 0x, 0b and 0o prefixes.

Convert between scientific notation and full numbers as you type. Reads 1.23e5, 1.23 × 10^5 and plain numbers, shows the value written out, in normalized scientific notation and in engineering notation, and can round to any number of significant digits.

About the Invisible Character Revealer Tool

This tool shows you the characters in a text that you cannot see. Paste anything suspicious and every zero-width space, bidi mark, no-break space, control character and other hidden Unicode character is revealed as a small labelled chip, color-coded by kind, with its name, code point and exact line and column.

Hidden characters sneak in all the time. Copying from a web page or a PDF brings along no-break spaces and soft hyphens, some sites and AI text carry zero-width watermarks, and a stray bidi override can make code read backwards. A findings panel counts everything per kind, reports tabs and trailing whitespace, and tells you whether the line endings are LF, CRLF or a mix. The cleanup panel then removes or normalizes exactly what you choose.

What you can do

  • Find zero-width spaces and other hidden characters in a text.
  • Detect zero-width watermarks in AI-generated or copied text.
  • See non-breaking spaces and every other Unicode space variant.
  • Spot bidirectional control characters that reorder text.
  • Check whether a file uses LF or CRLF line endings, and convert between them.
  • Remove all invisible characters with one click.
  • Normalize special spaces to regular spaces.
  • Find tabs and trailing whitespace before a code review flags them.
  • Inspect any hidden character's name, code point and UTF-8 bytes.

How to use the Invisible Character Revealer

  1. 1Paste your text into the input box, or press Try an example.
  2. 2Read the findings: counts per kind, the line-ending style, tabs and trailing whitespace.
  3. 3Look at the revealed text. Every hidden character shows up as a colored chip, and clicking one shows its code point, UTF-8 bytes and position.
  4. 4Pick the cleanup fixes you want, or press Remove everything invisible.
  5. 5Copy or download the cleaned text, or send it on to another tool.

What it detects

The catalog covers the zero-width family (zero width space, zero width joiner and non-joiner, word joiner, the byte order mark, variation selectors, invisible math operators and Unicode tag characters), all twelve bidirectional controls from the marks to the isolates, the full space family from the no-break space to the ideographic space, the soft hyphen, Hangul fillers, the braille blank and every C0 and C1 control character. Tabs, trailing whitespace and the LF versus CRLF question are reported separately, since they are ordinary characters in the wrong place rather than hidden ones.

Zero-width characters are also what most text watermarks and homograph tricks are made of, so a text that looks clean but carries a pattern of ZWSP and ZWNJ chips is worth a closer look.

How the cleanup works

Each fix targets one kind of character. Zero-width characters, bidi controls and control characters are removed outright, special spaces become regular spaces, and the Unicode line and paragraph separators become normal line feeds so the text keeps its structure. Trailing whitespace and line-ending conversion are separate switches, so you can fix a mixed-endings file without touching anything else. The counters above the result confirm when nothing invisible is left.

If the text looks encoded rather than hidden, the Magic Decoder can work out what was applied to it, and Find and Replace handles substitutions the cleanup options do not cover.

Strip the sensitive bits out of a log or any text before sharing it: emails, IP and MAC addresses, file paths, UUIDs, timestamps, URLs, tokens and more. Pick what to redact and how it is replaced, with stars, a fixed character, a type label or a length-preserving mask.

Decode Base64 to text or encode text to Base64. Paste into the top box, read the result below, and flip the direction with one click. Handles Unicode correctly, reads URL-safe Base64, and shows binary payloads as a hex dump you can download.

Hash a password with bcrypt or Argon2 and verify a password against an existing hash. Tune the cost factor, memory, iterations and parallelism, see how long the hash takes, and read the parsed parts of any hash you paste.

Verify a checksum online: drop a file, paste the expected checksum and see instantly whether they match. The hash type is detected from the checksum itself, covering MD5, SHA-1, SHA-256, SHA-512, BLAKE3, CRC-32 and more, and sha256sum lines or whole checksum files can be pasted as-is.

Format code in JavaScript, TypeScript, JSON, JSON5, HTML, Vue, CSS, SCSS, LESS, Markdown, YAML, GraphQL, XML and SQL. Pick tabs or spaces, set the indent width, and format the input in place with one click.

Remove duplicate lines from a list or text, keeping the first occurrence. Optionally ignore case and whitespace, or drop blank lines too.