Skip to content
A Python RFC2397 ("data url") implementation
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.



Author: Jacob Oscarson

Quick implementation of RFC2397 in Python, MIT Licenced. RFC2397 is also known as the 'data url' format used to embed image data directly into CSS stylesheets among other things.

The rationale behind this package is described in this blogpost.


Python 2.6 and 2.7, not tested on Python 3+ (yet).


The latest version can be found on PyPI. The recommended way to install is via pip:

$ pip install rfc2397

An executable named rfc2397 is then placed in the python environment that pip installs to.

As an alternate method, it's also possible to copy the file to any location and run the script stand-alone.


Just give rfc2397 a path to an image file. rfc2397 uses Python's mimetypes module to determine what MIME-type a file has (N.B: the program won't stop you from encoding something too large/an unsupported mime-type).

$ rfc2397 dot.png # <- your image path data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAIAAACQd1PeAAAADElEQVQImWP4o8oAAANCASIYayeeAAAAAElFTkSuQmCC


1.0b2 (2012-01-03)

  • Uses mimetypes module instead of primitive ad-hoc file name extension guessing.
  • rfc2397 is now a single-file module, simplifies package and makes it possible to just copy the file to an arbitrary location as an alternate installation method.
  • Better QA by using tox.

1.0b1 (2011-06-16)

Concept and initial coding.

You can’t perform that action at this time.