--- id: psd-tools version: "1.18.0" license: MIT license_treatment: permissive maintenance: active --- # psd-tools — Python package for working with Adobe Photoshop PSD files License: permissive · Maintenance: active · Downloads: 645.4K/mo ## What it is and what it does psd-tools is a Python library for parsing and manipulating Adobe Photoshop PSD and PSB files according to Adobe's specification. It lets you open a PSD file, inspect its layer structure, extract individual layer images as NumPy arrays or PIL images, and compose layers into a final flattened image. The library handles low-level PSD file structure directly, so you can read and write the raw format. The package supports basic pixel-based layer composition, fill layer effects, adjustment layers (Brightness/Contrast, Levels, Curves, Exposure, Invert, Posterize, Threshold), vector masks, and blending modes. It can edit layer names and perform basic layer group operations (add/remove layers). Advanced features like type layer editing, smart objects, and many layer effects are not supported. For advanced rendering (vector shapes, gradients, patterns, layer effects), you can install optional dependencies via the 'composite' extra. Use it for: - Batch export all layers from a PSD file as individual PNG images for asset pipelines - Programmatically read layer metadata and structure from PSD files in automated workflows - Convert PSD files to flattened images (PNG, JPEG) without opening Photoshop - Extract layer images as NumPy arrays for computer vision or image processing pipelines - Automate layer renaming or basic structural edits in PSD files ## Worth the install? AI-flagged interpretation of the facts above — verify before relying. psd-tools reads and writes Adobe Photoshop PSD/PSB files, exports layer images as NumPy arrays or PIL images, and can compose layers back into flattened images. Yes, if you need to read PSD files or export layers programmatically. The library is actively maintained, has no known vulnerabilities, and covers the most common use cases (reading, layer extraction, basic composition). Install with caution if you rely on advanced layer effects or type layer editing—those are not supported. The 'composite' extra adds rendering capabilities but may not be available on all platforms. ## Install pip install psd-tools uv add psd-tools poetry add psd-tools ## Installing psd-tools Before you install: Medium install friction due to compiled wheels for multiple Python versions and platforms (3.10–3.14, x86_64, ARM, Windows, macOS, Linux). Active maintenance with a release 7 days ago. Depends on Pillow and NumPy, which are themselves well-maintained but add system-level dependencies. License in practice: MIT license is permissive; you can use, modify, and distribute psd-tools freely in commercial and private projects with minimal restrictions. Quickstart: pip install psd-tools from psd_tools import PSDImage psd = PSDImage.open('example.psd') composite = psd.composite() composite.save('output.png') Requires Python 3.10 or later. Pillow and NumPy must be installed (pulled in automatically). Advanced compositing (vector rendering, gradients, effects) requires optional dependencies (aggdraw, scipy, scikit-image) installed via the 'composite' extra. Verify before relying: - Exact scope of layer attribute editing beyond layer name changes - Performance characteristics on large or deeply nested PSD files - Compatibility with PSD files created by recent Photoshop versions ## Package facts - License: MIT (permissive) - Python support: supports_current - Install friction: medium - Maintenance: active - Downloads: 645.4K/month (top 15,000 on PyPI) - Known vulnerabilities: none known ## Tags photoshop psd file parser, extract layers from psd, psd to png conversion, read adobe photoshop files, psd layer image export, photoshop file manipulation python, photoshop-automation, image-processing [View on SkillFed](https://skillfed.io/packages/psd-tools) · [View on PyPI](https://pypi.org/project/psd-tools/)