FREE ONLINE BASE64 TOOL
Base64 Encoder Online
Encode text to Base64, including Korean and emoji. UTF-8 is the default; choose another character encoding when the receiving system requires it. Free automatic conversion and copying, with no sign-up.
File encoding
Convert a file to Base64 and download the result.
Made for everyday text
Convert snippets, API values, and UTF-8 strings in a few clicks.
Conversion stays local
Your input and output are processed in your browser and aren't sent by this tool to a server. Site visits are measured with Google Analytics.
Encoding, explained
Base64 represents data as text. It is not encryption and doesn't keep sensitive information secret.
How to encode text to Base64 online
Base64 encoding represents bytes with a transferable alphabet. This online encoder converts your text to UTF-8 bytes, then produces standard Base64. Use it to prepare a text value for an API or check the format expected by another system.
- Type or paste the original text. Entering an existing Base64 value encodes that string again; use the decoder if you want to recover the original text.
- Conversion is automatic as you type or paste. Turn off Auto convert to use the button or Ctrl+Enter (⌘+Enter on Mac).
- Use Copy result to copy the output. The UTF-8 input or decoded data limit is 5 MB (5 × 1024 × 1024 bytes).
Tested Base64 text examples
These examples are verified using UTF-8. Compare the input and output to check the conversion direction. A Unicode character can occupy multiple bytes, so character count does not determine Base64 length.
| Input | Result |
|---|---|
Hello | SGVsbG8= |
Hello 😀 | SGVsbG8g8J+YgA== |
안녕하세요 😀 | 7JWI64WV7ZWY7IS47JqUIPCfmIA= |
Base64 output: alphabet, padding and length
The output uses standard Base64 with A–Z, a–z, 0–9, +, / and trailing = padding, without automatically inserted line breaks. For n UTF-8 bytes, the padded output length is 4 × ceil(n / 3) characters. Compare f → Zg==, fo → Zm8= and foo → Zm9v. If the receiving system requires Base64URL, replace + and / with - and _ and follow its padding rules.
Encoding Unicode text as UTF-8
Decodex encodes text as UTF-8 before Base64 conversion, so Korean, accents and emoji can be restored by a UTF-8 decoder. The receiving system must read the decoded bytes as UTF-8. To produce a different encoding, select it above the result; choose the same encoding when decoding.
Choose a character encoding before Base64 encoding
UTF-8 is the default and supports accents, Korean and emoji. If another system explicitly requires EUC-KR / CP949, Shift_JIS or Windows-1252, choose that encoding above the result before copying it.
The receiver must decode the bytes using the same character encoding. Some older encodings cannot represent emoji or every language: if conversion fails, use UTF-8 when the receiving system allows it.
| Character encoding | Text | Base64 |
|---|---|---|
| UTF-8 | 한글 | 7ZWc6riA |
| EUC-KR / CP949 | 한글 | x9Gx2w== |
Preparing Base64 values for JSON and APIs
The encoder converts exactly the text you enter. Entering {"name":"한글"} encodes the entire JSON document; entering only 한글 encodes just that value. A file path or https:// URL is encoded as text: the tool does not fetch or encode the referenced file.
The output is standard Base64 and can contain +, / and =. Check whether the API expects standard Base64 or Base64URL. URL-encode standard Base64 in query parameters to avoid + being interpreted as a space. For Base64URL, replace + with - and / with _, then follow the API’s padding rules.
Why similar text can produce different Base64 values
Spaces, line endings and character encodings change the input bytes even when text looks similar. These examples use UTF-8; LF means one line-feed character. Check leading or trailing spaces and line breaks when an output differs from what you expect.
| Input text | Base64 result |
|---|---|
| Hello | SGVsbG8= |
| Hello + one space | SGVsbG8g |
| Hello + LF | SGVsbG8K |
Frequently asked questions
Are spaces and line breaks included when encoding?
Yes. Spaces and line breaks are part of the UTF-8 input bytes, so Hello and Hello followed by a newline have different outputs. Decoding restores the actual input text. LF and CRLF line endings also produce different values; check the original line endings when exact bytes matter.
Can I encode emoji using EUC-KR?
EUC-KR / CP949 cannot represent emoji. Choose UTF-8 for text containing emoji. The tool reports an error instead of silently replacing unsupported characters with ?.
Does Base64 protect my text?
Base64 is a reversible representation of data, not encryption. It does not protect passwords or other secrets.
Conversion runs in your browser; your text and result are not sent to a conversion server. Google Analytics measures site visits and feature use.