Mojibake Repair Lab — Fix Garbled / Broken Text
Paste broken text like “café”, “’”, ““Hello— or “©” and get the correct original back — café, ’, “Hello”, ©. Repairs UTF-8 that was decoded as Windows-1252/Latin-1, including double-encoded text, explains what went wrong, shows the damage character by character, and lets you copy the fixed result. Runs entirely in your browser.
How to Use
- Paste the broken / garbled text into the box — a repair is attempted automatically.
- Use the buttons to force a strategy: a single Windows-1252 pass, a double-encoded (2-pass) fix, or “Try common repairs” which picks the best automatically.
- Read the explanation of what went wrong, and open “character-by-character damage” to see each broken sequence and its fix.
- Copy the repaired text. Nothing is uploaded — it all runs locally.
Garbled text is almost always recoverable
When you see café instead of café, or “Hello†instead of “Hello”, the text isn’t random noise — it’s mojibake: correct UTF-8 bytes that were displayed using the wrong character set (almost always Windows-1252 or Latin-1). The byte C3 A9 that means “é” in UTF-8 gets shown as the two separate characters à and ©; a curly apostrophe (three bytes E2 80 99) becomes ’. Because the original bytes are still encoded in those characters, the damage can be undone: map each character back to the byte it came from and decode the bytes as UTF-8 again. That’s exactly what this tool does — and it shows you the recovered text instantly.
Single, double, and triple encoding
Sometimes the same mistake is applied more than once. Already-broken text gets mojibake’d a second time, so ’ can degrade through ’ all the way to ’-of-’. The repair runs multiple passes until the telltale markers (sequences like Ã, Â, and â€) are gone, and tells you how many passes it took. Use Fix UTF-8 as Windows-1252 for a single clean pass, Fix double-encoded to force two, or Try common repairs to let it find the best result automatically.
See the damage, then copy the fix
The repair highlights the broken sequences right in your text, and the character-by-character damage view lists each garbled run, the original bytes it encoded, and the character it becomes — so you can verify the fix rather than trust it blindly. When a � (replacement character) shows up, the tool flags it: those bytes were destroyed before you pasted and can’t be recovered. Everything is computed locally in your browser; nothing is uploaded.
Reference
About the Mojibake Repair Lab — Fix Garbled / Broken Text
The Mojibake Repair Lab — Fix Garbled / Broken Text gives you a fast, free answer for web development and data tasks without sending anything off your device. Paste broken text like “café”, “’”, ““Hello— or “©” and get the correct original back — café, ’, “Hello”, ©. Repairs UTF-8 that was decoded as Windows-1252/Latin-1, including double-encoded text, explains what went wrong, shows the damage character by character, and lets you copy the fixed result. Runs entirely in your browser.
How it works
Type in what you have, and the answer shows up right away. Change anything and it updates by itself. Everything runs in your browser, so it is fast and nothing you type is sent away.
Want the deeper story? The Knowledge Base explains the ideas behind the tools in more detail.
Frequently Asked Questions
What is mojibake?
Mojibake is garbled text that appears when bytes are decoded with the wrong character set — most commonly UTF-8 text read as Windows-1252 or Latin-1. A character like “é” (UTF-8 bytes C3 A9) gets shown as the two characters “é”; a curly apostrophe “’” becomes “’”. The text isn't random — it's recoverable by mapping the characters back to their original bytes and decoding them as UTF-8, which is exactly what this tool does.
What does “double-encoded” mean?
Sometimes the same mistake happens twice — already-mojibake text is mojibake'd again — so “é” can become “é”. That needs two rounds of re-decoding. The “Fix double-encoded text” button (and the automatic repair) applies multiple passes until the text is clean.
Is my text sent anywhere?
No. The repair runs entirely in your browser in JavaScript — nothing is uploaded, logged, or sent to a server or AI. It's safe to paste private text.
Why can't some text be fully repaired?
If the broken text was truncated, retyped, or already had characters replaced with “�” (the replacement character), some bytes are gone for good and can't be recovered. The tool tells you when it sees “�”. For the best result, copy the broken text directly from the source rather than retyping it.
What encodings does it handle?
The common case: UTF-8 decoded as Windows-1252 or ISO-8859-1 (Latin-1) — including smart quotes, dashes, ©/®/™, currency symbols, accented letters and emoji — plus double/triple-encoded variants of the same mistake.
How do I use the Mojibake Repair Lab — Fix Garbled / Broken Text?
Just type your numbers. The answer shows up right away — there is no button to press. Change anything and it updates by itself.
Does it cost anything or need an account?
No. The tool is completely free, there is no account to create, and it keeps working offline after the page first loads.
Is anything I type uploaded?
No. The tool works entirely on your device, so the values you enter never leave your browser.
Common Use Cases
Imported a CSV or database dump
Fix names and addresses that came out as “José GarcÃa”.
Scraped or copied web text
Turn ““smart quotes— and “– dashes” back into real punctuation.
Email / RSS / API content
Clean up feeds where every apostrophe became “’”.
Legacy file migration
Recover accented characters and symbols from mis-decoded exports.
Last updated: