Skip to content

About

Notes on Procreate's .procreate, .brushset and .swatches file formats, worked out from public sample files. CC BY 4.0.

Topics

Resources

Contributing

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

1 Commit

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 

Repository files navigation

Procreate file formats

An open description of the files Procreate (by Savage Interactive) writes: .procreate artwork, .brush and .brushset brushes, and .swatches palettes. The maker does not publish these formats. These notes come from decoding public sample files and reading open-source readers, and every claim says whether it was verified and where it comes from.

Not affiliated with Savage Interactive. Procreate is a trademark of Savage Interactive Pty Ltd.

Contents

The .procreate format in one minute

  • A .procreate file is a ZIP.
  • Document.archive inside it is an NSKeyedArchiver binary plist. Its root object, SilicaDocument, holds the canvas size, tile size (256), orientation, colour profile and the layer tree (unwrappedLayers, top layer first).
  • Each layer with pixels has a folder named by its UUID, holding tiles named <column>~<row>. Row 0 is the bottom of the canvas. Empty tiles are left out.
  • Tiles are compressed either as raw LZO1X (.chunk) or in Apple's LZ4 frame format (.lz4). One file, and even one layer, can mix both.
  • Pixels are 8-bit RGBA with premultiplied alpha; layer masks are 8-bit single-channel.
  • Blend modes are integers (extendedBlend, falling back to blend). 19 is Shade since Procreate 5.4.
  • QuickLook/Thumbnail.png is a ready-made preview, longest edge 1024 px.
  • The time-lapse is stored as numbered H.264 MP4 segments in video/segments/.

Details, sources and statuses are in docs/procreate.md.

A longer walk-through with diagrams and the bytes of two sample files: Inside the .procreate file format.

Sample files

All checks use files that anyone can download:

Status labels

  • verified: seen in source code that runs, or checked by decoding the sample files.
  • not verified: from documentation, a third-party reader or inference, not confirmed against a real file.
  • present: the key exists in the samples, but its meaning is not confirmed.

Thanks

These notes build on the open-source readers that came first, above all Silicate (MIT), and on procreate-to-tif, procreate-rs, ProcreateViewer, import_from_procreate and procreate2psd. Links and commits are in docs/procreate.md.

Used by

toPSD, a browser converter from .procreate to layered PSD, built on these notes.

Contributing

Found a file that behaves differently, or can answer one of the unknowns? See CONTRIBUTING.md.

Licence

The documentation is licensed under Creative Commons Attribution 4.0 International (CC BY 4.0). You may share and adapt it, including commercially, as long as you give credit and link back.

About

Notes on Procreate's .procreate, .brushset and .swatches file formats, worked out from public sample files. CC BY 4.0.

Topics

Resources

Contributing

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors