1
Fork 0
macOS app and QuickLook plugin for viewing Procreate documents
This repository has been archived on 2025-04-12. You can view files and clone it, but cannot push or open issues or pull requests.
Find a file
2021-05-09 21:44:04 -04:00
Dependencies/minilzo-2.10 Move minilzo to the Dependencies directory 2020-03-12 08:09:05 -04:00
ProcreateViewer Add timelapse viewing functionality 2021-05-09 21:44:04 -04:00
ProcreateViewer.xcodeproj Add timelapse viewing functionality 2021-05-09 21:44:04 -04:00
Quicklook Add shared code between the app and quicklook generators 2020-03-12 08:04:37 -04:00
Shared Add timelapse viewing functionality 2021-05-09 21:44:04 -04:00
Thumbnail Add shared code between the app and quicklook generators 2020-03-12 08:04:37 -04:00
.gitignore Move minilzo to the Dependencies directory 2020-03-12 08:09:05 -04:00
LICENSE Add LICENSE 2020-03-10 14:39:19 -04:00
README.md Update README with new file format information 2020-03-12 08:21:24 -04:00

Procreate Viewer

I use my computer to store all of my backups of my Procreate documents (since they seem reluctant to add actual cloud saving), but I can never figure out which documents are which, so I created this app to alleviate this dilemma. This app is written in Swift and supports the new QuickLook generator API.

This project includes a viewer app that can render your Procreate documents at full resolution. It also contains a Quick Look preview and thumbnail generators as well. Please note that since there is almost no documentation on how these new generator api's work, they might be broken. Once you install the app, all .procreate documents will automatically open with it.

Dependencies

We use the Swift Package Manager to handle our only Swift dependency, ZipFoundation.

MiniLZO is used to decode image data but has already been included in the repository and is built with the project.

Procreate File Format

All .procreate files are actually standard ZIP files. So extracting them leads to something like this:

- (Layer folders named by their UUID)
  - Contains .chunk files, presumably the actual pixel canvas data for the document.
- QuickLook [Folder]
  - Thumbnail.png - Low-quality screenshot generated by Procreate.
- video [Folder]
  - segments [Folder]
    - segment-X.mp4, where X is a number starting from 1.
- Document.archive - NSKeyedArchive containing layer information along with other document information like canvas size.

In order to parse Document.archive, first decode the binary plist format. Then you'll want to access the $top object to access the index of the SilicaDocument object in the $objects array. This is where most of your document information belongs. If you want more information please read #2 where I break down the format of this file in more detail. Please also check out jarmovogel's Procreate Viewer which helped me understand how to read the actual image data in a Procreate document.