crud.md
// crud.md / base64-studio

Encode anything to Base64. Without uploading it anywhere.

Convert text to Base64 or base64url and back, drop in an image or any file to get its Base64 and a copy-paste data: URI, or paste a data URI to download the file it hides. Every byte stays in your browser — nothing is ever uploaded.

base64-studio · v1.0 local-only

File → Base64 & data URI

Drop a file (an icon, image, font, anything) to get its raw Base64 and a full data: URI you can paste straight into CSS or HTML. Images get a preview.

Drop a file here, or click to choose
it is read locally — never uploaded

Data URI → file

Paste a data:…;base64,… URI to decode it and download the original file. The MIME type is read from the URI itself.

FAQ

Is my data sent anywhere?+

No. The text and files you encode or decode are processed entirely in your browser — they are never sent to a server, and files you drop in are read locally and never uploaded. We count anonymous, aggregate usage on our own server (a page view, that a conversion ran) — never your data, your files, or what they contain.

What is a data URI, and when do I want one?+

A data: URI inlines a file's bytes directly into a URL, like data:image/svg+xml;base64,…. Instead of a separate request for an icon, font or small image, you paste the whole thing into your CSS or HTML. It saves a round trip for tiny assets — though for anything large the ~33% Base64 size overhead usually outweighs the win. This tool builds the URI (with the right MIME type) and reverses it back into a downloadable file.

What's the difference between Base64 and base64url?+

Standard Base64 uses + and / and pads the end with = — fine for data URIs, awkward inside URLs and filenames where those characters are special. base64url swaps them for - and _ and drops the padding, so the result is safe to drop into a query string, a path, or a JWT. Tick "treat as base64url" to encode that way; decoding accepts either variant automatically, padding or not. No login, no payment — this one is free.