Base64 is a way of converting data — text or binary — into plain text made up only of the letters A-Z, a-z, digits 0-9, and the symbols + and /. That makes it safe to send through channels that only handle text, such as URLs, JSON, or config files, without the data getting corrupted. This Base64 Encoder/Decoder converts text to and from Base64 instantly in either direction. It uses the browser's standard TextEncoder/TextDecoder, so Thai text and other Unicode characters are handled correctly. Everything runs entirely in your own browser — nothing is sent to a server — so it's safe to use with sensitive data.
How to use the Base64 tool
Paste your text
Type or paste the text you want to encode or decode
Choose a mode
Click the Encode or Decode button
Copy the result
Use the Base64 or decoded text right away
Why use this tool
Full Unicode support
Encode/decode Thai and emoji correctly, 100% of the time
Instant, no waiting
Processes in real time in your browser
Private by design
No text is ever sent to a server
Example use cases
Sending a Basic Authentication header
APIs that use Basic Auth require username:password to be Base64-encoded before it goes into the Authorization header — paste text in the user:pass format and encode it here.
Reading the contents of a JWT token
The header and payload sections of a JSON Web Token are Base64-encoded — paste the part you want to inspect to decode it instantly.
Embedding data as a Data URI
When embedding a small file directly in CSS/HTML (without a separate request), its contents are usually stored as Base64 after data:.
Passing text through a query string
Text with special characters or line breaks is often converted to Base64 before being embedded in a URL parameter, avoiding characters URLs don't support.
Decoding config values stored as Base64
Many systems store config values or secrets as Base64 in .env files or CI/CD — paste them here to check the real value before using it.