What Is Base64 Encoding?
Base64 converts binary data (like an image file) into a text string made of letters, numbers, and a few symbols. This text can be embedded directly into HTML, CSS, or JSON — eliminating the need for a separate image file and an extra HTTP request.
A base64-encoded image looks like this:
data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAA...
When to Use Base64 Images
| Good For | Avoid For |
|---|---|
| Tiny icons (< 2 KB) | Large photos |
| Email HTML templates | Images that change frequently |
| Single-file HTML exports | Performance-critical pages with many images |
| CSS background patterns | Images over 10 KB (use a CDN instead) |
| Embedding in JSON or XML | SEO-critical hero images |
How to Convert an Image to Base64
- Open the Image to Base64 tool
- Drop your image file (JPG, PNG, WebP, SVG, GIF)
- Copy the generated base64 data URI
- Paste it into your HTML, CSS, or code
The conversion runs entirely in your browser — nothing is uploaded.
Using Base64 in HTML
<img src="data:image/png;base64,iVBORw0KGgo..." alt="icon" />
Using Base64 in CSS
.icon {
background-image: url("data:image/png;base64,iVBORw0KGgo...");
}
Size Considerations
Base64 encoding increases file size by roughly 33%. A 3 KB PNG becomes about 4 KB of text. For small icons and UI elements, this trade-off is worth it because you save an HTTP request. For anything larger, serve the image as a regular file.
Tips
- Compress images first with the Image Compressor to keep the base64 string short
- Use SVG when possible — SVG files are already text-based and often smaller than base64 raster images
- Don’'t base64-encode images in CSS files that are cached separately — you lose the caching benefit
- Convert to WebP with the Image Converter before encoding for smaller output
Try It Now
Use our free Image to Base64 converter to generate data URIs instantly — no signup, no upload, runs in your browser.