.. image:: :target:

.. image:: :target:

Data URI manipulation made easy.

This isn't very robust, and will reject a number of valid data URIs. However, it meets the most useful case: a mimetype, a charset, and the base64 flag.


.. code-block:: bash

$ pip install python-datauri


.. code-block:: python

from datauri import DataURI uri = DataURI('data:text/plain;charset=utf-8;base64,VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu') uri.mimetype 'text/plain' uri.charset 'utf-8' uri.is_base64 True b'The quick brown fox jumped over the lazy dog.'

Note that will always return bytes, (which in Python 2 is the same as a string). Use DataURI.text to get the text type (str on Python 3.x, unicode on Python 2.x).

Creating from a string

.. code-block:: python

from datauri import DataURI made = DataURI.make('text/plain', charset='us-ascii', base64=True, data='This is a message.') made DataURI('data:text/plain;charset=us-ascii;base64,VGhpcyBpcyBhIG1lc3NhZ2Uu') b'This is a message.'

Creating from a file

This is really just a convenience method.

.. code-block:: python

from datauri import DataURI png_uri = DataURI.from_file('somefile.png') png_uri.mimetype 'image/png' b'\x89PNG\r\n...'


This code is released under the Unlicense <>_.


This is a repackaging of this Gist <>_ originally written by Zachary Voase <>_.

Python Datauri

Data URI manipulation made easy.

Python Datauri Info

⭐ Stars 20
🔗 Source Code
🕒 Last Update 10 months ago
🕒 Created 4 years ago
🐞 Open Issues 3
➗ Star-Issue Ratio 7
😎 Author fcurella