Decodex
← Back to the Base64 tool

BASE64 GUIDE

Base64 encoding Korean text and emoji with UTF-8

Convert Korean text and emoji to and from Base64, understand garbled text, and test a verified UTF-8 example.

Korean text and emoji can both be converted to Base64. The important choice is the character encoding used before and after Base64. Decodex encodes text as UTF-8 bytes and reads decoded bytes as UTF-8.

A Korean and emoji example

These two values convert into each other using UTF-8. Use the exact text: adding a trailing space or line break can change the encoded result.

Original text

안녕하세요 😀

Base64

7JWI64WV7ZWY7IS47JqUIPCfmIA=

The encoding workflow is text → UTF-8 bytes → Base64. Decoding reverses it: Base64 → bytes → UTF-8 text. A Base64 value alone does not tell you which character encoding the original text used.

Try the conversion in Decodex

  1. Open the encoder and enter 안녕하세요 😀.
  2. With Auto convert on by default, the result appears after you enter the text. When it is off, click Encode Base64.
  3. Click Copy result and paste it into the decoder. Switching pages does not automatically transfer your input.
  4. Check that the original Korean text and emoji return.

Mixed English and Korean sentences use the same workflow. Encoding preserves spaces and line breaks as part of your text. Decoding ignores whitespace inside the Base64 representation.

Why Korean text looks garbled

Base64 does not automatically change a character encoding. Bytes originally produced using CP949 or EUC-KR may not read correctly as UTF-8. Check the encoding used by the source service or file. If possible, produce UTF-8 text there before encoding it again.

If the original text is already garbled, converting it to Base64 preserves that garbled content. Repeated decoding cannot generally recover the original Korean text. Decode again only when the source was actually encoded multiple times.

If the character encoding is correct, check for truncation or extra content with the examples in our Base64 error troubleshooting guide.

Notes for JavaScript developers

Passing Unicode directly to btoa("안녕하세요") causes an error. btoa() treats each character as one byte, so first produce UTF-8 bytes with TextEncoder, then encode those bytes. Reverse the process by converting Base64 back into bytes and interpreting them with TextDecoder. See MDN’s Unicode conversion guidance for implementation details.

Handle the result with care

Anyone can reverse Base64. Korean text becoming an unfamiliar ASCII string does not make it encrypted. Decodex processes conversions in your browser, but posting the copied result on another site can expose the original text. Read our privacy policy for information about site visit statistics.