Text Cleaner User Guide
Clean, normalize, and adapt generated text locally in your browser.
Quick Navigation
1. Overview
The Text Cleaner cleans AI-generated or copied text without sending it to a server. It is useful for removing Markdown, citations, fancy Unicode, bad encoding artifacts, inconsistent spaces, and region-specific character issues.
Always local: The Text Cleaner runs in browser JavaScript. Only preferences such as the enabled options are saved locally.
2. Basic Workflow
Paste text
Paste generated text, copied web content, or text with encoding issues into the input area.
Choose target system and options
Select a target system, then enable only the cleanup options you need — or start from a preset.
Clean, review, copy
Click Clean Text Now, review the result, then copy it to your clipboard or clear the input.
3. Target System
Auto
Default mode. Normalizes common encoding and line endings for browser use.
Windows / Linux / macOS
Use these when line endings matter. Windows outputs CRLF; Linux and macOS use LF.
Always-on base normalization
This step runs on every clean, even with all toggles off: it repairs broken encoding (mojibake such as ä → ä), drops the leading BOM, and unifies line endings. If the result changes with no options enabled, this is why. Invisible characters used to be part of this step; they now have their own switch so you can turn them off.
4. Character Mapping
Apply Character Mapping flattens typography to plain ASCII. It is split into five groups, all on by default, so each kind of typography can be left alone — you can fix quotation marks while keeping em dashes exactly as they are. Invisible characters are not part of this; they have their own option.
Hyphens & dashes 7 rules
Hyphen, non-breaking hyphen, figure dash, en dash, em dash, horizontal bar and the minus sign all become the ASCII hyphen.
Quotation marks 8 rules
Curly and low double quotes, guillemets and the double prime, flattened to the ASCII ".
Apostrophes 10 rules
Single quotes, apostrophes, primes and the spacing accents that get used in their place.
Bullets, ellipses & symbols 9 rules
Ellipsis spelled out as three dots, bullet characters turned into a hyphen, multiplication sign and fraction slash to x and /.
PDF ligatures 7 rules
Text extracted from PDFs stores fi and fl as single glyphs. This splits them apart: final → final.
Three further switches add rules that used to be hidden behind a language dropdown. That dropdown offered six languages but held only four distinct tables: Italian was byte-identical to Universal, English to German. Naming the actual rules is both shorter and honest.
Spell out æ/œ as ae/oe
German, French and English write these out in ASCII. Leave it off for Italian, which has no æ/œ of its own, so foreign words keep their spelling.
Convert ß to ss
The Swiss convention. Germany and Austria keep ß, so leave it off for German from those countries.
French spacing rules
French typography puts a space inside guillemets and before ; : ! ?. This removes it, so « bonjour » becomes "bonjour".
All eight switches are greyed out while character mapping is off. They keep their state, so nothing is lost when you switch it back on. If you used a language before, your setting was carried over to the equivalent switches automatically.
5. Processing Options
Remove Invisible Characters & Watermarks (on by default)
Covers 441 invisible code points in seven groups: zero-width characters, bidi controls, invisible math operators, deprecated format characters, variation selectors, tag characters, and other hidden formatting — plus 16 unusual spaces that are folded back to a normal space.
These characters carry no visible meaning, but they do carry consequences. They are used to hide tracking IDs and watermarks inside AI output; tag characters (U+E0001–E007F) can smuggle an entire invisible message inside visible text; bidi controls can make text render differently from how it is stored, which is the basis of the "Trojan Source" attack; and zero-width characters from copy-paste break search, diffs, and string comparisons.
Emoji stay intact. The zero-width joiner and the variation selectors are the only members of the set that can be legitimate content — they are kept when they actually hold an emoji together, so stays one family and stays one symbol, while the same characters hidden in ordinary prose are removed.
After each clean you get a breakdown of what was found, for example "Found 10 hidden characters: 5 tag characters, 2 zero-width characters, 1 bidi control, 1 hidden format character, 1 unusual space" — otherwise there is no way to tell the option did anything.
Apply Character Mapping
Flattens quotes, dashes, ellipses, bullets, primes and PDF ligatures to plain ASCII, plus whatever the three detail switches add. Visible typography only — invisible characters are a separate option.
Remove Diacritics
Converts accented characters to plain forms. The Umlauts as ae/oe/ue switch below it picks the convention: on, ä/ö/ü become ae/oe/ue; off, they become a/o/u. ß always becomes ss.
Remove Fancy Text Font
Normalizes every stylized Unicode alphabet back to plain characters — mathematical bold, italic, script, double-struck, sans-serif, monospace, fullwidth and more (Unicode NFKC compatibility normalization).
Remove Citation References
Removes numbered brackets like [1], superscript references, (Source: ...) notes, bare URL citations, and citation-style links whose label is just a domain or number. Normal links keep their visible text; parenthetical enumerations like (1) and subscripts (H₂O) are left untouched.
Convert MD to Normal Text
Turns Markdown-style AI output into plain text by removing syntax for headings, bold, italic, code, links, and lists.
Replace em dash with new sentence
Experimental option that turns each em-dash break into a full stop and capitalizes only the word right after it. Ellipses, abbreviations, and other periods are not affected. Review output carefully; the Undo button restores the previous text.
Remove Line Breaks
Joins single line breaks into spaces and reduces multiple line breaks. Useful for turning copied text into cleaner paragraphs.
6. Common Presets
These combinations are available as one-click Quick Preset buttons at the top of the Processing Options panel.
Clean ChatGPT / Claude Output
Enable Convert MD, Remove Citation References, and optionally Remove Fancy Text Font.
Perplexity / Research Output
Enable Remove Citation References and Convert MD. Review links and footnotes after cleanup.
Swiss Standardization
One click sets Swiss German with Language Character Mapping, Remove Fancy Text Font, Remove Citation References, and Replace Em Dash. Enable Remove Diacritics separately if you need ae/oe/ue output.
Paragraph Cleanup
Use Remove Line Breaks for pasted content with unwanted line wraps. Keep it off for structured text where line breaks matter.
7. Privacy
- Local processing: Text cleanup runs in your browser.
- No text upload: Your text is not sent to ASD123.ai for processing.
- Local preferences: Settings are saved in browser storage; text content is not saved by the app.
- Local mappings: Language mappings and the invisible-character tables are embedded in the script itself — nothing is fetched at runtime.
8. Tips
Use fewer toggles first
Start with the smallest set of options, review the output, then add more cleanup if needed.
Review experimental changes
The em-dash sentence option can change meaning in edge cases. Use it carefully — the Undo button brings back the text as it was before the last clean.
Mind line breaks
Remove Line Breaks is helpful for copied paragraphs, but not for lists, poems, code, or structured templates.
Use the character counter
The live counter helps when preparing prompts, short posts, summaries, or field-limited text.