psd-tools is a Python package for working with Adobe Photoshop PSD files as described in specification.


Use pip to install the package:

pip install psd-tools


In order to extract images from 32bit PSD files PIL/Pillow must be built with LITTLECMS or LITTLECMS2 support (apt-get install liblcms2-2 or brew install little-cms2)

Getting started

from psd_tools import PSDImage

psd ='example.psd')

for layer in psd:
    image = layer.composite()

Check out the Usage documentation for more examples.



  • Read and write of the low-level PSD/PSB file structure;
  • Raw layer image export in NumPy and PIL format.

Limited support:

  • Composition of basic pixel-based layers by normal blending;
  • Composition of fill layer effects;
  • Vector masks;
  • Editing of some layer attributes such as layer name;
  • Blending modes except for dissolve;
  • Drawing of bezier curves.

Not supported:

  • Editing of layer structure, such as adding or removing a layer;
  • Composition of adjustment layers;
  • Composition of layer effects;
  • Font rendering.

Indices and tables