Convert text between UTF-8, GBK, and other encodings
Click on an example to load it: Click on any example to load it into the input field, or use "Quick Run" to automatically convert:
你好世界!Hello World!
こんにちは世界
Héllo Wörld 你好 🌍
Character encoding is a system that maps characters to bytes for storage and transmission. Our implementation uses JavaScript's built-in TextEncoder/TextDecoder APIs with custom handlers for hex, binary, and Unicode escape formats. Different encodings like UTF-8, GBK, and ISO-8859-1 represent characters differently, which can cause "mojibake" (garbled text) when data is decoded with the wrong encoding.
Support for UTF-8, GBK, Latin-1 and more
Instant preview as you type
Text, Hex, Base64 and Unicode formats
All processing happens in your browser
UTF-8 uses 1-4 bytes per character and is backward compatible with ASCII. UTF-16 uses 2 or 4 bytes. UTF-8 is more common on the web, while UTF-16 is used internally by Windows and Java.
Garbled Chinese usually means the text was encoded in GBK but decoded as UTF-8 (or vice versa). Try converting from the original encoding to UTF-8.
Yes, all encoding conversion happens locally in your browser. Your data is never sent to any server.
Discover more tools and guides to help you with your development workflow