folio.

Two strings look identical. Why are they different?

A copied label looks right, yet an exact match fails. Before changing your application logic, check the characters themselves. A normal space and a no-break space can look almost identical while containing different Unicode values.

A small, reproducible example

Both lines below appear to say “Hello world”. The first contains U+0020 SPACE. The second contains U+00A0 NO-BREAK SPACE between the words.

const contentA = "Hello world";
const contentB = "Hello\u00a0world";
contentA === contentB; // false

The escaped form makes the distinction visible. The no-break space also has a layout purpose: it keeps neighboring content together. Its presence is not automatically a mistake. Whether it should be replaced depends on what the text is for.

Find the exact character in Folio

  1. Open the example below. It uses invented sample text, not your documents.
  2. Look at the revealed space in each pane.
  3. Inspect the selected character in the Content B. The panel reports U+00A0, its name, and its position.
  4. Click the matching space in Content A to compare it with U+0020.

Open the hidden-character example

For your own input, paste both documents into the empty editors and choose Compare text. Keep Ignore whitespace off when investigating whitespace differences. Enable Show whitespace to expose spaces and tabs; click or select a source character to inspect its code point.

Verify without a tool

A small JavaScript check lists the code points in a string:

Array.from("Hello\u00a0world", ch =>
  "U+" + ch.codePointAt(0).toString(16).toUpperCase().padStart(4, "0")
);

Compare the entry at the suspicious position. When logging strings, use an escaped representation alongside the rendered text: the visual appearance alone can hide the cause.

Fix only what you understand

If your input contract requires ordinary spaces, replace the confirmed no-break spaces deliberately. Avoid stripping all invisible characters from arbitrary text: some characters carry meaningful formatting or language information. Folio helps locate a difference; it does not decide which document is correct or automatically rewrite it.

Folio processes the comparison in your browser and does not upload document contents. Export anything you want to keep before reloading. Inspector columns count UTF-16 code units, while Unicode values describe code points; these are different notions for characters such as emoji.

Reference: Unicode character charts, including Basic Latin and Latin-1 Supplement.

Watch the 24-second walkthrough

Edited from actual Folio screenshots. On-screen captions; no narration.