Encoding runs as you type and stays on your device - your text is never uploaded, which makes it safe for tokens, config snippets and private notes. Switch on URL-safe output to get the - and _ alphabet used in JWTs and query strings, and decoding auto-detects either alphabet plus any missing padding.
Base64 Encode and Decode
Runs entirely in your browser - no upload, no sign-up.
What is Base64 encoding?
Base64 is a way of representing any data as plain text using 64 safe characters (A-Z, a-z, 0-9, + and /). This tool encodes text to Base64 and decodes Base64 back to readable text in your browser. It handles full Unicode through UTF-8, so accents, emoji and other languages survive the round trip intact.
How to use
- 1Pick a direction. Choose Encode to turn text into Base64, or Decode to turn Base64 back into text.
- 2Paste your input. Type or paste into the input box - the result updates live in the panel beside it.
- 3Choose URL-safe (optional). Tick URL-safe when encoding for a URL, filename or JWT; decoding handles both alphabets automatically.
- 4Copy the result. Copy the output and paste it wherever you need it. Invalid Base64 shows a clear message instead of garbled text.
Who it's for
- Developers embedding small assets or credentials as Base64 in JSON, YAML or environment files.
- API and webhook work - decoding a Base64 field from a payload to read what it actually contains.
- Anyone inspecting a JWT who needs to decode a Base64URL segment by hand.
- Email and data formats that store attachments or binary blobs as Base64 text.
FAQ
Is this Base64 tool free?
Yes - it's completely free, with no sign-up and no usage limits. Encoding and decoding both run in your browser.
Is my data uploaded anywhere?
No. Your text and Base64 are processed locally in your browser and never sent to a server, so it's safe for tokens, keys and private content.
Is Base64 encryption?
No. Base64 is encoding, not encryption - it only reformats data into text and anyone can decode it. Use it to safely transport data, never to protect a secret.
Does it handle emoji and non-English text?
Yes. Input is converted to UTF-8 bytes before encoding, so accents, emoji and non-Latin scripts encode and decode correctly instead of throwing an error or corrupting the characters.
What is URL-safe Base64?
URL-safe Base64 swaps the + and / characters for - and _ and usually drops the = padding, so the result is safe inside URLs, filenames and JWTs. Turn on the URL-safe option when encoding; decoding accepts it automatically.
Why does my decoded output look like random characters?
Base64 can hold any bytes, including binary data like an image or a compressed file. If you decode that as text you'll see gibberish - the data is fine, it just isn't text. This tool is for text payloads.
Do I need the = padding to decode?
No. The decoder restores missing padding for you and ignores stray spaces and line breaks, so you can paste a Base64 string with or without its trailing = signs.