JSON Formatter
Paste messy or minified JSON and get it back pretty-printed with 2-space indentation. The same step tells you whether the JSON is valid.
Encode any text to standard Base64 in your browser, emoji and accented letters included.
Updated
Your browser is preparing the tool. It runs 100% locally.
Base64 Encoder turns text into a Base64 string, in your browser. It encodes your text as UTF-8 first, so accents, emoji and non-Latin scripts convert correctly, then writes those bytes in standard Base64 (the A-Z, a-z, 0-9, + and / alphabet). Expect the result to be about 33% larger than the original. Your text stays on your device.
Base64 turns text or bytes into plain ASCII characters that survive systems built for simple text. People use it to put a token in a config file, data in a URL or data URI, or content through a channel that mangles unusual characters.
This encoder is for text. It converts your text to UTF-8 before encoding, so an emoji or an accented letter goes through without the error that naive Base64 tools throw.
Your text is first turned into UTF-8 bytes, the standard way to represent any character as a sequence of bytes. That step is what lets the encoder accept Unicode rather than only plain ASCII.
Those bytes are then grouped three at a time and mapped to four Base64 characters from the standard alphabet (A-Z, a-z, 0-9, +, /), with = padding at the end. That three-bytes-to-four-characters expansion is why Base64 runs about a third larger than the input.
The text you encode never leaves your browser and no server keeps a copy, so tokens, keys and private strings stay on your machine.
The page saves nothing between visits. Clear the box or close the tab and both the text and its Base64 are gone.
| Direction | Text → Base64 |
|---|---|
| Alphabet | Standard Base64 (A-Z a-z 0-9 + /, = padding) |
| Unicode | Full (text is UTF-8 encoded first) |
| Size | About 33% larger than the input |
| Scope | Text (for files, use Image to Base64) |
| Upload | None; encoding happens on your device |
Encoding is exact and reversible: decode the output with a Base64 decoder that also reads UTF-8 and you get your original text back, character for character.
It produces standard Base64, not the URL-safe variant. Standard Base64 uses + and /, which have special meaning in URLs; to drop the string into a URL, swap + for - and / for _ yourself, and you may strip the = padding.
Base64 is an encoding. Anyone can decode it, so it hides nothing and must never be used to protect passwords or secrets. Its job is safe transport.
Every three bytes become four characters, so the output is roughly a third bigger than your text.
Encode a value so it travels as plain ASCII in a config or header.
Base64 a small snippet to inline in HTML, CSS, or a data URL.
Pass text through a channel that would otherwise mangle special characters.
Base64 text with emoji or non-Latin scripts without the usual errors.
For an image or file, use Image to Base64 (it builds a data URI); for a URL, swap to the URL-safe characters; to protect a secret, use real encryption.
Checked against the encoder's code: UTF-8 first, then standard RFC 4648 Base64. The page says plainly that Base64 is for transport and protects nothing.
Paste messy or minified JSON and get it back pretty-printed with 2-space indentation. The same step tells you whether the JSON is valid.
Decode Base64 back to readable text in your browser, Unicode included, and get a plain error message when the input is broken.
Percent-encode a value so it can sit safely inside a URL. Spaces, ampersands, slashes and other special characters become %-codes, using the browser's encodeURIComponent.
Get the MD5, SHA-1, SHA-256, SHA-384 and SHA-512 hashes of any text at once, updated as you type, with a plain note on which ones are still safe for security work.
Generate up to 500 random version 4 UUIDs at once, the 128-bit identifiers used for database keys, from your browser's secure random generator.
Turn percent-encoded text back into readable characters: %20 becomes a space and %26 an ampersand. It uses the browser's decodeURIComponent.
Paste or pick your input at the top of the page. The conversion runs on this device and needs no account.