Embedding Base64 Images

HtmlBase64Browser

Html Problem Overview


Purely out of curiosity, which browsers does Base64 image embedding work in? What I'm referring to is https://greywyvern.com/code/php/binary2base64">this</a>;.

I realize it's not usually a good solution for most things, as it increases the page size quite a bit - I'm just curious.

Some examples:

HTML:

<img alt="Embedded Image" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIA..." />

CSS:

div.image {
  width:100px;
  height:100px;
  background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIA...);
}

Html Solutions


Solution 1 - Html

Update: 2017-01-10

Data URIs are now supported by all major browsers. IE supports embedding images since version 8 as well.

http://caniuse.com/#feat=datauri


Data URIs are now supported by the following web browsers:

> * Gecko-based, such as Firefox, SeaMonkey, XeroBank, Camino, Fennec and K-Meleon > * Konqueror, via KDE's KIO slaves input/output system > * Opera (including devices such as the Nintendo DSi or Wii) > * WebKit-based, such as Safari (including on iOS), Android's browser, Epiphany and Midori (WebKit is a derivative of Konqueror's KHTML engine, but Mac OS X does not share the KIO architecture so the implementations are different), as well as Webkit/Chromium-based, such as Chrome > * Trident > * Internet Explorer 8: Microsoft has limited its support to certain "non-navigable" content for security reasons, including concerns that JavaScript embedded in a data URI may not be interpretable by script filters such as those used by web-based email clients. Data URIs must be smaller than 32 KiB in Version 8[3]. > * Data URIs are supported only for the following elements and/or attributes[4]: > * object (images only) > * img > * input type=image > * link > * CSS declarations that accept a URL, such as background-image, background, list-style-type, list-style and similar. > * Internet Explorer 9: Internet Explorer 9 does not have 32KiB limitation and allowed in broader elements. > * TheWorld Browser: An IE shell browser which has a built-in support for Data URI scheme

http://en.wikipedia.org/wiki/Data_URI_scheme#Web_browser_support">http://en.wikipedia.org/wiki/Data_URI_scheme#Web_browser_support</a>

Solution 2 - Html

Most modern desktop browsers such as Chrome, Mozilla and Internet Explorer support images encoded as data URL. But there are problems displaying data URLs in some mobile browsers: Android Stock Browser and Dolphin Browser won't display embedded JPEGs.

I reccomend you to use the following tools for online base64 encoding/decoding:

Check the "Format as Data URL" option to format as a Data URL.

Solution 3 - Html

Can I use (http://caniuse.com/#feat=datauri) shows support across the major browsers with few issues on IE.

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionS PangbornView Question on Stackoverflow
Solution 1 - HtmlPhilippe GerberView Answer on Stackoverflow
Solution 2 - HtmlBrig AderView Answer on Stackoverflow
Solution 3 - HtmlkehersView Answer on Stackoverflow