The Photoshop file format is over 23 years old, yet it remains one of the most opaque file formats out there. PSDs are very widely used, yet Adobe has never produced an easy way for developers to work with the format. Indeed, some developers have gone mad trying to parse PSDs. We know the feeling.

For some time, we’ve been meticulously building a tool to open the Photoshop format. It’s a Ruby library for reading and writing PSDs, and it’s called PSD.rb. It’s what is behind some of the great improvements to LayerVault recently, namely the Type Tool and Style Guides.

But we’re not the only ones that can benefit from this code, so today we’re open-sourcing what we’ve learned under the MIT license. What you’ll find is a robust, modern, and fast way to programmatically access Photoshop documents. It’s a real pleasure to work with. This represents the most mature and up-to-date way to access Photoshop documents, outside of using Photoshop itself.

There’s still plenty more the library can do, but we think this is a great start. We encourage everyone to fork the code on GitHub and open a Pull Request.