Charset converter and mojibake fixer
Turn text into bytes and bytes into text in fourteen charsets, from UTF-8, UTF-16 and UTF-32 to windows-1252, IBM 850 and EBCDIC, with every ill-formed byte replaced exactly as a browser replaces it. Paste a hex dump, escapes, %XX or Base64, compare what every charset makes of the same bytes, and turn garbled text such as café back into what it was.
Encodage et donnéesRuns in your browser. Nothing you paste leaves the page.
27 characters became 32 bytes in UTF-8.
The bytes
52 65 71 75 69 73 69 C3 A7 C3 A3 6F 20 62 6C 6F 71 75 65 61 64 61 20 E2 80 93 20 63 61 66 C3 A9Character by character
| Character | Code point | Bytes in UTF-8 |
|---|---|---|
| R | U+0052 | 52 |
| e | U+0065 | 65 |
| q | U+0071 | 71 |
| u | U+0075 | 75 |
| i | U+0069 | 69 |
| s | U+0073 | 73 |
| i | U+0069 | 69 |
| ç | U+00E7 | C3 A7 |
| ã | U+00E3 | C3 A3 |
| o | U+006F | 6F |
U+0020 | 20 | |
| b | U+0062 | 62 |
| l | U+006C | 6C |
| o | U+006F | 6F |
| q | U+0071 | 71 |
| u | U+0075 | 75 |
| e | U+0065 | 65 |
| a | U+0061 | 61 |
| d | U+0064 | 64 |
| a | U+0061 | 61 |
U+0020 | 20 | |
| – | U+2013 | E2 80 93 |
U+0020 | 20 | |
| c | U+0063 | 63 |
| a | U+0061 | 61 |
| f | U+0066 | 66 |
| é | U+00E9 | C3 A9 |
The same text in every charset
How many bytes each charset needs, and how many characters of the text it cannot hold (written as ?). The selected charset is highlighted.
| Charset | Bytes | Hex | Cannot hold |
|---|---|---|---|
| UTF-8 | 32 | 52 65 71 75 69 73 69 C3 A7 C3 A3 6F 20 62 6C 6F 71 75 65 61 64 61 20 E2 … | |
| UTF-16LE | 54 | 52 00 65 00 71 00 75 00 69 00 73 00 69 00 E7 00 E3 00 6F 00 20 00 62 00 … | |
| UTF-16BE | 54 | 00 52 00 65 00 71 00 75 00 69 00 73 00 69 00 E7 00 E3 00 6F 00 20 00 62 … | |
| UTF-32LE | 108 | 52 00 00 00 65 00 00 00 71 00 00 00 75 00 00 00 69 00 00 00 73 00 00 00 … | |
| UTF-32BE | 108 | 00 00 00 52 00 00 00 65 00 00 00 71 00 00 00 75 00 00 00 69 00 00 00 73 … | |
| US-ASCII | 27 | 52 65 71 75 69 73 69 3F 3F 6F 20 62 6C 6F 71 75 65 61 64 61 20 3F 20 63 … | 4 |
| ISO-8859-1 (Latin-1) | 27 | 52 65 71 75 69 73 69 E7 E3 6F 20 62 6C 6F 71 75 65 61 64 61 20 3F 20 63 … | 1 |
| windows-1252 | 27 | 52 65 71 75 69 73 69 E7 E3 6F 20 62 6C 6F 71 75 65 61 64 61 20 96 20 63 … | |
| ISO-8859-15 (Latin-9) | 27 | 52 65 71 75 69 73 69 E7 E3 6F 20 62 6C 6F 71 75 65 61 64 61 20 3F 20 63 … | 1 |
| Mac OS Roman | 27 | 52 65 71 75 69 73 69 8D 8B 6F 20 62 6C 6F 71 75 65 61 64 61 20 D0 20 63 … | |
| IBM 437 (DOS, US) | 27 | 52 65 71 75 69 73 69 87 3F 6F 20 62 6C 6F 71 75 65 61 64 61 20 3F 20 63 … | 2 |
| IBM 850 (DOS, Western Europe) | 27 | 52 65 71 75 69 73 69 87 C6 6F 20 62 6C 6F 71 75 65 61 64 61 20 3F 20 63 … | 1 |
| IBM 037 (EBCDIC, US and Canada) | 27 | D9 85 98 A4 89 A2 89 48 46 96 40 82 93 96 98 A4 85 81 84 81 40 6F 40 83 … | 1 |
| IBM 500 (EBCDIC, International) | 27 | D9 85 98 A4 89 A2 89 48 46 96 40 82 93 96 98 A4 85 81 84 81 40 6F 40 83 … | 1 |
These UTF-8 bytes, read in every charset
What each charset makes of the same bytes. The row of the charset they were written in is the text itself; every other row is the mojibake that a wrong guess produces. Controls and replacement characters are shown as tags.
| Charset | Reads as | Replaced |
|---|---|---|
| UTF-8 | Requisição bloqueada – café | |
| UTF-16LE | 敒畱獩썩쎧澣戠潬畱慥慤鎀挠晡꧃ | |
| UTF-16BE | 剥煵楳槃ꟃꍯU+2062汯煵敡摡⃢肓U+2063慦쎩 | |
| UTF-32LE | �U+FFFD�U+FFFD�U+FFFD�U+FFFD�U+FFFD�U+FFFD�U+FFFD�U+FFFD | 8 |
| UTF-32BE | �U+FFFD�U+FFFD�U+FFFD�U+FFFD�U+FFFD�U+FFFD�U+FFFD�U+FFFD | 8 |
| US-ASCII | Requisi�U+FFFD�U+FFFD�U+FFFD�U+FFFDo bloqueada �U+FFFD�U+FFFD�U+FFFD caf�U+FFFD�U+FFFD | 9 |
| ISO-8859-1 (Latin-1) | Requisição bloqueada âU+0080U+0093 café | |
| windows-1252 | Requisição bloqueada – café | |
| ISO-8859-15 (Latin-9) | Requisição bloqueada âU+0080U+0093 café | |
| Mac OS Roman | Requisição bloqueada – café | |
| IBM 437 (DOS, US) | Requisição bloqueada – café | |
| IBM 850 (DOS, Western Europe) | Requisi├º├úo bloqueada ÔÇô caf├® | |
| IBM 037 (EBCDIC, US and Canada) | êÁÉÍÑËÑCxCt?U+0080Â%?ÉÍÁ/À/U+0080SØlU+0080Ä/ÃCz | |
| IBM 500 (EBCDIC, International) | êÁÉÍÑËÑCxCt?U+0080Â%?ÉÍÁ/À/U+0080SØlU+0080Ä/ÃCz |
Références
- WHATWG Encoding Standard (Living Standard, last updated 21 May 2026)
- WHATWG Encoding Standard: index-windows-1252.txt
- WHATWG Encoding Standard: index-iso-8859-15.txt
- WHATWG Encoding Standard: index-macintosh.txt
- The Unicode Standard 18.0.0, chapter 3: Conformance (3.9 encoding forms, 3.9.6 U+FFFD substitution of maximal subparts, 3.10 encoding schemes)
- Unicode FAQ: UTF-8, UTF-16, UTF-32 & BOM
- Unicode Consortium archived mapping: VENDORS/MICSFT/PC/CP437.TXT
- Unicode Consortium archived mapping: VENDORS/MICSFT/PC/CP850.TXT
- Unicode Consortium archived mapping: VENDORS/MICSFT/EBCDIC/CP037.TXT
- Unicode Consortium archived mapping: VENDORS/MICSFT/EBCDIC/CP500.TXT
- Unicode Consortium mapping: ISO8859/8859-1.TXT
- Unicode Consortium: Public/MAPPINGS/ReadMe.txt (updated 2025-10-23)
- RFC 3629: UTF-8, a transformation format of ISO 10646
- RFC 2781: UTF-16, an encoding of ISO 10646
- RFC 4648: The Base16, Base32, and Base64 Data Encodings
- RFC 3986: Uniform Resource Identifier (URI): Generic Syntax
- WHATWG URL Standard: percent-decode