Tools · Text · Base64 encode and decode
Base64 encode and decode
Encode text to Base64 or decode Base64 back to text, live, with full support for Arabic and other non-Latin scripts.
Add a file and run the tool.
Your file is ready.
Try a different file, or try again.
Settings
Adjust the settings below. The result updates as you go.
Runs fully in your browser. Nothing is uploaded.
Runs fully in your browser. Nothing is uploaded.
How it works
Type or paste your text, or paste Base64 to decode it.
Choose Encode or Decode.
Copy the result.
Frequently asked questions
No. Everything happens in your browser.
No. It's a reversible encoding anyone can decode - not a way to protect a secret.
Yes, fully, in both directions. A naive Base64 implementation breaks on Arabic input; this one is built to encode and decode it correctly.
The RFC 4648 variant used in JWTs and URLs, which replaces + and / with - and _ and drops the padding. Turn it on with the checkbox.
A practical 2,000,000-character guard. This tool is for text values like API keys or small payloads - encoding a whole file is a separate tool.
Guides
A closer look at specific problems this tool solves.
Base64 Isn't Encryption, and Treating It Like One Is a Real Mistake
Base64 text looks like a secret because it looks unreadable. It is not one - anyone can decode it back in one step, with no key required, and treating it as protection is a mistake that shows up in real code.
Read the guideHow to Encode and Decode Base64 Text, Correctly for Any Language
Base64 encode or decode text live as you type, with Arabic and other non-Latin scripts handled correctly - a real gap in a plain btoa()/atob() implementation. Here's how the tool and the URL-safe option work.
Read the guideReading a JWT Payload Without a Library
A JWT's middle segment is Base64URL-encoded JSON, not encrypted - decode it and you can read every claim inside without installing anything or trusting the server's own debug endpoint.
Read the guide
Comments