Utilia

French Typography Fixer

Fix French punctuation automatically, with no-break spaces before : ; ! ?, « » quotation marks, the ellipsis and curly apostrophes, and see every change.

Rules

How to fix French typography

  1. Paste your French text in the input box.
  2. Choose the rules to apply. All of them are on by default, except Narrow no-break space everywhere (also before : and inside « »).
  3. The corrected text appears in the output box as you type. The Fix typography button refreshes it.
  4. Check the Changes section: the Before column shows what was replaced and the After column shows the corrected version, highlighted.
  5. Copy the result and paste it into your document, website or CMS.

The rules this tool applies

French punctuation follows rules that English keyboards and autocorrect tools usually ignore. Typing them by hand is tedious, and a normal space before a question mark can let the sign wrap alone onto the next line. This tool applies the conventions of the French national printing office (Imprimerie nationale) that most publishers follow:

  • No-break spaces before : ; ! ? A two-part sign is separated from the preceding word by a space that cannot break. The tool uses a narrow no-break space (U+202F) before ;, ! and ?, and a regular no-break space (U+00A0) before the colon. A run such as ?! gets one space, before the first sign. Missing spaces are added, and ordinary or repeated spaces are replaced.
  • French quotation marks. Straight quotes "…" and English curly quotes “…” become guillemets « … », with a no-break space inside each mark. Existing guillemets get their inner spaces fixed.
  • Ellipsis. Exactly three periods become the single ellipsis character ….
  • Apostrophe. A straight apostrophe between two letters, as in l'été or aujourd'hui, becomes the typographic apostrophe ’.

With Narrow no-break space everywhere (also before : and inside « »), U+202F is used for every sign. Many designers prefer this more even look.

What the tool leaves alone

The rules apply to prose only, so the tool skips anything where a space would be wrong:

  • times, ratios and references such as 12:30, 16:9 or 3:16;
  • web addresses and email addresses (https://exemple.fr/?a=1, nom@exemple.fr);
  • code in backticks or in fenced code blocks, HTML tags and HTML entities such as  ;
  • a sign glued to the next word, such as a:b, std::map or ?id=3, which is usually technical text;
  • a sign at the start of a line or right after an opening bracket, such as (?);
  • numbers, including decimals, thousands separators and ranges like 1...10.

Single quotes used as quotation marks, such as 'OK', are not changed, since only an apostrophe between two letters is converted.

Tips

Narrow no-break spaces are supported by all current browsers, word processors and fonts, but some old fonts show them as a normal-width space. If your output looks odd, untick the narrow option or check your font. In HTML, the characters work as they are; you don’t need   entities. Run the tool once more on corrected text and nothing changes: the rules are idempotent.

Frequently asked questions

Why does French need a space before the question mark?

It is a long-standing French typographic convention for “high” two-part signs: colon, semicolon, question mark and exclamation mark. Canadian French often omits it before ; ! ?, but France, Belgium and Switzerland use it.

What is the difference between U+00A0 and U+202F?

U+00A0 is a no-break space as wide as a normal space. U+202F is narrower, about half the width. Both prevent a line break between the word and the sign.

Is my text sent to a server?

No. Everything runs in your browser. The text is never uploaded or stored.

Will the tool break the links or code in my text?

No. Web addresses, email addresses, HTML tags, code in backticks and times like 12:30 are detected and left exactly as they are.

Does it correct spelling or grammar?

No. It only changes spaces, quotation marks, the ellipsis and apostrophes. Words are never modified.