Convert any image to a Base64 data URI — or decode Base64 back to an image. All processing happens in your browser.
Click to browse or drag & drop an image here
PNG · JPG · GIF · WebP · SVG · BMP · up to 10 MB
Upload an image or paste a Base64 string, then switch between encode and decode mode depending on what you need. In encode mode, the tool can output a Data URI, plain Base64, or code snippets for HTML and CSS. In decode mode, it recreates the image so you can preview or download it again.
If you only need a quick embed string, copy the output straight into your HTML or stylesheet. If you are troubleshooting a broken image, decoding first is the fastest way to check whether the data itself is valid.
Base64 images are useful in emails, inline CSS, HTML prototypes, offline demos, and small assets like icons or logos. They also help when you want to inspect a string that came from an API, a CMS, or a copied snippet and confirm whether it still decodes into the expected image.
Designers and developers often use the tool to move between a file and a data URI without installing an extra converter or writing a script.
Use Base64 for small images only, because the encoded string is larger than the original file and can slow down big pages. Keep the data URI prefix when you need a self-contained embed, but remove it if your destination expects only the raw Base64 payload. For best results, keep the source file reasonably small before converting.
If a decoded string fails, check that it was copied completely and that no extra whitespace or missing padding was introduced. Tiny copy-paste mistakes are the most common reason a data URI stops working.
Encode mode — Click the upload area or drag and drop an image. Choose your output format (Data URI, Plain Base64, CSS, or HTML). Copy the result with one click.
Decode mode — Switch to the "Base64 → Image" tab, paste a Base64 string, and the tool will reconstruct and preview the image. You can also download the decoded image.
All processing runs in your browser — nothing is uploaded to any server.
The tool uses the browser's FileReader API to read your image file as a binary data stream, then encodes it to Base64 text using the built-in readAsDataURL() method. The result is a data URI in the format data:[mime];base64,[encoded].
For decoding, paste any data URI or raw Base64 string and the tool renders the image directly in your browser. Note that Base64 encoding increases file size by approximately 33%.
A data URI embeds file content directly in HTML or CSS as text, in the format data:[mimetype];base64,[data]. This eliminates the need for a separate HTTP request to load the image.
Base64 is best for small images under 10-20 KB, such as icons, logos, or inline email graphics. For larger images, using standard URLs is more efficient because Base64 encoding increases file size by ~33%.
No. All conversion happens entirely inside your browser using JavaScript. Your image file is never sent to any server. The tool works completely offline once the page is loaded.
The tool supports all common image formats: PNG, JPG/JPEG, GIF, WebP, SVG, and BMP. The maximum file size is 10 MB.
No. All our tools are free to use and work directly in your browser without registration or sign-in. Just open the page and start using the tool.
Yes. The tool is fully responsive and works on any modern browser on iPhone, iPad, Android phones and tablets. The interface adapts to your screen size automatically.
Keep the prefix when you need a complete self-contained image string for HTML or CSS. Remove it only if another tool or API asks for the raw Base64 payload without the data:[mimetype];base64, header.
It works for SVG and other image types, but it is best for small assets. Large images usually load faster and remain easier to maintain when referenced by file URL instead of being embedded as a very long Base64 string.