← All Tools
Base64 Converter🔒 100% local
Encode text or files to Base64, or decode Base64 back to text. All processing happens locally in your browser.
Drag and drop any small file (image, svg, font) to convert to Data URI, or browse files
Related Tools
Encodes text to Base64 and decodes Base64 back to text, updating as you type instead of waiting for a button. In encode mode you can also drop a file onto the page and get a data URI, which is the form an inline image or a small font takes in a stylesheet. Both directions run in the browser, so a payload you decode stays in the tab.
How to use it
- Choose the Encode tab for text to Base64, or Decode for Base64 back to text.
- Type or paste into the left box. The right box fills in as you go, and a decode that fails reports an error there.
- In encode mode you can drag a small file onto the drop zone instead; the output becomes a data URI and the input box is replaced with the file name and size.
- Press Copy Output, or Download Decoded File when the decoded text itself starts with data:.
Worked example
Hello, World!becomesSGVsbG8sIFdvcmxkIQ==café 🚀becomesY2Fmw6kg8J+agA==Accented text and emoji are encoded as their UTF-8 bytes, so they survive a round trip through the decoder.
not base64!!becomesInvalid Data: Ensure the input fits Base64 operational rules.The fixed message the decoder prints for anything it cannot parse.
When to use it
- Turning a small logo into a data URI to drop straight into a stylesheet or a single-file template.
- Reading a value out of a cookie, a query parameter or a log line that was encoded before it was stored.
- Checking what a short opaque payload actually holds before you write code against it.
What it does not do
- Pasting a whole data URI into the decode box does not work: the colon and the semicolon are not Base64 characters, so the output reads Invalid Data and the download button never appears. Paste only the part after the comma.
- It is standard Base64 with + and /, not the URL-safe variant. A string using - or _ is rejected, so those need converting first.
- A failure carries no detail. Every rejected input produces the same one-line message, with no indication of which character is at fault.
- Dropping a file produces the data URI in the output box and nothing else, so for anything above a modest size the string is impractical to paste into source code.