Technology

I discovered a URI called “data:” today which allows you to encode any amount of file data into a URL. This data could be an image, ascii text, xml data, you name it. You’ll have to read the details, but you use it like this:
data:image/jpeg;base64,base_64_encoded_jpeg_goes_here

The RFC was drafted in 1998, so it’s by no means new. It was news to me, though, and it’s got me thinking of all sorts of interesting applications, especially since it appears to be implemented in standard browsers. Some things that you might be able to do with this include:

  • javascript based image editor
  • storage of attachments within a web page or blog entry (simplify file hosting)
  • post images or files to forums that allow url posting
  • sneak attachments past grumpy email filters

Anyway, those are just some initial ideas. You probably have better ones, so let us know in the comments.

Me, encoded in a data URL – Link.
RFC 2397 – Link.
Convert a URL or uploaded photo to a data: URI – Link.

16 thoughts on “RFC 2397 – Embed image data inside a URL

  1. IE hasn’t implemented this.
    And it would have been more impressive had you used it as the src attribute value in an img tag :)

  2. Interesting find.

    This appears to work in Firefox but not in IE6 which gives an “unknown zone” security message in the status bar and “invalid character” error in a popup.

    If this worked cross-browser, another handy use for it would be embedding JavaScript in a script tag to obfuscate your source.

  3. Be aware that this URI scheme DOES NOT work in Internet Explorer, that includes the recently released IE7. The “data:” URI scheme is not supported.

Comments are closed.

Tagged