PSD

PSD is the native layered raster graphics file format of the Adobe Photoshop program line. The format has gone through multiple versions, each being downwards (but not always upwards) compatible.

PSD is a partially-documented proprietary format. It is very large and complex. Despite this, decoding the primary image of a PSD file is often fairly simple. If an application claims to support PSD, that could mean just about anything.

Compression
Images are usually compressed with PackBits, or uncompressed. "Zip" compression, which apparently means zlib, is also supported.

Text encoding
PSD files often contain both Unicode and non-Unicode text. It's not clear whether there is a good way to determine the encoding of the non-Unicode text. Some sources claim MacRoman, which is true in many cases, but other encodings have been observed.

Identification
PSD files begin with bytes.

Specifications

 * Adobe Photoshop File Formats Specification (current version)
 * Other versions (from archive.org): 2010-07 · 2012-06 · 2012-12 · 2013-06 · 2013-10 · 2016-06 · 2016-08
 * Photoshop File Formats Specification V6.0 Release 2
 * PHOTOSDK.PDF - Adobe Photoshop 3.0.4 SDK
 * ADOBE.TXT - Photoshop 3.0.4 File Format
 * PHOTOSHP.TXT - Adobe Photoshop 2.5 File Format
 * PSD.rb: Anatomy of a PSD File

Viewers, editors, and converters

 * Adobe Photoshop
 * ImageMagick
 * Konvertor
 * XnView
 * Tom's Viewer

Libraries and tools

 * PSD.rb (Ruby)
 * psd-tools (Python)
 * Libpsd (C)
 * psdump (C++; uses Libpsd)

Sample files

 * "Free PSD" websites are abundant. Some examples:
 * PsdKing
 * psdGraphics
 * Freepik → PSD
 * tombexcavator samples
 * https://telparia.com/fileFormatSamples/image/psd/ → *.psd

Links
See also Photoshop.


 * Adobe Photoshop
 * Adobe Photoshop website
 * , from the Encyclopedia of Graphics File Formats
 * Open-Source PSD import code from GIMP

Commentary

 * Rant about PSD format in comments of a program's source code
 * Some thoughts about the PSD format, in response to above's comments