Encoding
Hello, World! → SGVsbG8sIFdvcmxkIQ==
Encode text to Base64 or decode Base64 to text, with full Unicode support and URL-safe output.
Runs in your browser — nothing you enter is sent to a server.
Choose Encode to turn text into Base64 or Decode to turn Base64 back into text. The result updates as you type. Text is converted to UTF-8 first, so emoji and every language work — unlike the browser's basic btoa(), which fails on them.
When decoding, spaces, line breaks, missing = padding and the URL-safe alphabet are all accepted. If the Base64 is invalid, or decodes to a file rather than text, the tool tells you instead of showing garbage.
3 bytes (24 bits) → 4 characters (6 bits each)
Each group of 6 bits becomes one of 64 characters: A–Z, a–z, 0–9, + and /. Output is padded with = to a multiple of 4, so Base64 is about 33% larger than the original.
Hello, World! → SGVsbG8sIFdvcmxkIQ==
+ becomes -, / becomes _, and padding is dropped, so the result can go in URLs and file names: Pz8+ → Pz8-.
No. Base64 is an encoding, not encryption — anyone can decode it. Never use it to protect passwords or secrets.
In email attachments, data URLs (data:image/png;base64,…), HTTP Basic authentication headers, JSON Web Tokens and anywhere binary data has to travel as plain text.
No. Encoding and decoding happen entirely in your browser.
Format, validate and minify JSON, with the exact line and column of any error.
Developer Tools