Brushfactory › Formats › .abr
What is an .abr file?
An .abr file is an Adobe Photoshop brush — one file holding one or more brush presets, their tip bitmaps and their pressure dynamics. Photoshop has written the current 6.x layout since CS2.
What's inside one
Two 16-bit integers: major version 6, then minor version 1 or 2. Everything after is a sequence of 8BIM blocks — the literal bytes 8BIM, a four-character key, a 32-bit length, then the payload, padded to a multiple of four.
samp blockThe brush tips themselves. Each entry starts with a 36-character UUID, then a rectangle, a bit depth of 8 or 16, and a compression flag. The pixels are either raw planes or PackBits run-length encoded one row at a time.
desc blockA standard Photoshop Action Descriptor. Its Brsh key lists the presets; each one is either a sampled brush (pointing at a samp UUID) or a computed brush described purely by numbers. Dynamics controls live here too — bVTy selects off, fade, pen pressure, pen tilt, stylus wheel, rotation, initial direction or direction.
A quirk worth knowing if you write a parser. Real Photoshop-era encoders emit run-length rows that overflow the row they belong to — 421 of the 671 rows in our reference corpus do. Photoshop's own decoder clips at the row boundary and zero-pads rather than failing, so any reader that raises on a malformed run will reject files Photoshop opens happily.
How to open it
Photoshop opens .abr through Window › Brushes › panel menu › Import Brushes…. GIMP and Krita both read .abr as well, and neither needs a conversion step to do it.
Converting .abr
Out of Photoshop: Photoshop → Procreate, Photoshop → Clip Studio Paint, Photoshop → Krita.
Into Photoshop: Procreate → Photoshop, Clip Studio Paint → Photoshop, Krita → Photoshop.
What survives each trip, and what does not, is set out on the fidelity report.
Common questions
Everything on this page is taken from the reader that
parses the format in Brushfactory itself
(brushfactory/formats/abr.py), which was built against the
applications' own source and against real files, not from a
specification document.