PhotoCraft brushes and Photoshop .abr files
Use Photoshop brushes without Photoshop: import .abr files free in PhotoCraft, turn images into brush tips, and set up Brush Settings, pen pressure and presets.
Yes, you can use Photoshop brushes without Photoshop. PhotoCraft, a free and open-source editor, imports Photoshop brush files (.abr): open one with File › Open, drop it on the window, or click the Import Brushes… button at the bottom of the Brushes panel. The brushes land in the Brushes panel as a group named after the file, with the file's own folders kept inside it. Sampled and round (computed) tips both work, and so do the brushes' Shape Dynamics, Scattering, Texture, Dual Brush, Color Dynamics, Transfer and Smoothing settings. Files up to 1 GiB are accepted since v0.12.0 (21 October 2026). Photoshop's Erodible, Airbrush and Bristle tips have no equivalent, and PhotoCraft still can't save brushes back to .abr. Since v0.10.0 you can also turn any image file into a brush tip. This guide was checked against the v0.16.0 source (25 October 2026).
At a glance
| Task | v0.16.0 |
|---|---|
Import Photoshop .abr brushes | Yes: versions 1 and 2, and the sectioned layout of versions 6 to 10 |
| Sampled, round, dual and textured brushes | Yes. Erodible, Airbrush and Bristle tips don't carry over |
| Brush folders from the file | Kept, nested inside a group named after the file |
Largest .abr file | 1 GiB on the desktop, 512 MiB in the online editor |
Save brushes as .abr | No. Brushes export only to PhotoCraft's own .pcpresets file |
| Image file as a brush tip | Yes, since v0.10.0 |
| Define Brush Preset from a selection | Yes, Edit › Define Brush Preset… |
| Response curve per dynamic control | Yes, since v0.10.0 |
| Brush and Eraser size | Up to 5000 px |
Import Photoshop .abr brushes
Ways to import
Every route runs the same import, so the result is the same:
- File › Open (
Ctrl+O/⌘O) and pick the.abrfile. It goes to the brush library and doesn't open as a document. - Drag and drop the file onto the PhotoCraft window. Unlike an image, a brush file dropped on the canvas isn't placed as a layer.
- Brushes panel › Import Brushes…: the folder button at the bottom of the Brushes panel. Its file picker also accepts images (see Use an image as a brush tip).
- Brush Preset picker › Import Brushes…: right-click the canvas with the Brush, or click the brush chip at the left of the options bar, then open the gear menu (Brush Preset Options).
- Edit › Presets › Preset Manager…: with Brushes chosen as the preset type, the Load… button opens the file dialog.
The panel menu of the Brush Settings panel has no import entry in v0.16.0. Use the folder button or the picker's gear menu instead.
On the desktop the import runs in the background with a progress readout, and you can cancel it between brushes. When it finishes, the status bar says, for example, "Imported 24 brushes from Watercolor", the Brush Settings window opens on its Brushes tab, and the first imported brush becomes the current brush. The import also collects notes about settings that didn't map (listed under What doesn't come across). In v0.16.0 the desktop status bar still shows only the count, while the online editor, which imports in one go, adds the notes, as in "(notes: 2; texture pattern "Grain" is not embedded in the file; a procedural paper texture stands in)". Automation clients get the full list in the warnings field of brush.presets.importAbr.
Which .abr files load
| ABR layout | What PhotoCraft reads |
|---|---|
| Version 1 and 2 (the old layout) | Round (computed) tips with diameter, hardness, angle and roundness, and sampled tips, 8 or 16 bits, raw or PackBits-compressed. Version 2 brush names are kept |
| Versions 6 to 10 (subversion 1 or 2) | Sampled tips, embedded patterns and the full brush presets, including the Brushes panel folders that Photoshop CC writes |
| Anything else | Refused with brush file version N or brush file subversion N |
Upstream's tests cover versions 1, 2 and 6 with both subversions. The reader accepts versions 7 to 10 with the same layout, but we found no test file of those versions in the source.
For files with brush presets (version 6 and later), the import maps each preset's settings onto PhotoCraft's brush engine:
| Photoshop setting | In PhotoCraft |
|---|---|
| Brush Tip Shape | Size (up to 5000 px), hardness, angle, roundness, spacing (or spacing off), Flip X and Flip Y. Sampled tips keep their bitmap |
| Shape Dynamics | Size, angle and roundness jitter with their controls and minimums, Tilt Scale, flip jitter, Brush Projection |
| Scattering | Scatter, Both Axes, Count (up to 16) and Count Jitter |
| Texture | The embedded pattern, scale, brightness, contrast, mode, depth, Minimum Depth, Depth Jitter, Invert, Texture Each Tip, Protect Texture |
| Dual Brush | Its own sampled or round tip, size, spacing, scatter, Both Axes, count, mode and flip |
| Color Dynamics | Foreground/Background Jitter, hue, saturation and brightness jitter, purity, Apply Per Tip |
| Transfer | Opacity, flow, wetness and mix jitter with their controls |
| Brush Pose, Noise, Wet Edges, Build-up | Yes. Photoshop's ±100 % tilt becomes ±90°, and since v0.13.0 the X and Y tilt overrides stay separate (#5317) |
| Tool settings saved with the preset | Opacity, flow, the pressure-for-size and pressure-for-opacity buttons, Smoothing and its options, and the Mixer Brush's Wet, Load, Mix, Flow and Sample All Layers |
Size limits and folders
- File size. Since v0.12.0, PhotoCraft accepts
.abrfiles up to 1 GiB, double the old 512 MiB limit (#7180). The same 1 GiB caps the decoded tips in one file. In the browser both limits stay at 512 MiB, because the file is copied several times in a 4 GiB address space. Other preset files and image tips keep the 512 MiB limit. - Tip size. Sampled tips wider or taller than 2500 px are scaled down to 2500 px, with a note. A tip over 8192 px on a side is skipped. Texture patterns over 1024 px are scaled down. A file holds at most 20,000 brushes. Since v0.16.0 a sampled tip that many presets share is converted once, not once per preset.
- Folders. Each file becomes one group named after the file. The folders Photoshop CC saved inside the file (its preset hierarchy) become folders inside that group, nested up to 32 levels. A damaged hierarchy never stops the import: the brushes it can't place go to the top of the group, with a note.
- Importing again. Importing a file with the same name replaces that group instead of adding a second copy. A brush whose name is already taken gets a number, as in "Chalk 2".
Your brushes stay after a restart. The desktop app keeps them in the Presets folder inside PhotoCraft's settings folder: one .pcbrushes file per group and the tip bitmaps in tips/. On Windows that's %APPDATA%\Photocraft\Presets, on macOS ~/Library/Application Support/Photocraft/Presets, and on Linux ~/.config/photocraft/Presets. Full-size tips load only when a brush is used, so a large library doesn't fill memory.
What doesn't come across
- Erodible, Airbrush and Bristle tips. The mapper knows only sampled and computed tips, so these come in as plain round tips without their special behaviour. Upstream lists Photoshop's special tips as not audited, and 3D-based brushes are reported as not working (#1660).
- A tool blend mode saved with the preset. It isn't applied, and the import notes it.
- Texture patterns that aren't inside the file. A procedural paper texture stands in, and the note names the missing pattern.
- The Initial Rotation control. It maps to Rotation, with a note.
- Any other setting without an equivalent. The note lists its Photoshop key names after "settings without a PhotoCraft equivalent were ignored:". Nothing is dropped silently.
- Brush presets whose tip is missing from the file. They're skipped, with a note.
- Photoshop tool presets (
.tpl). PhotoCraft has a Tool Presets panel, but it doesn't read.tplfiles.
Exporting brushes
PhotoCraft v0.16.0 can't save brushes as .abr. The source contains an .abr writer, but only the tests use it, and no menu or panel item calls it. To move brushes to another computer running PhotoCraft, use Edit › Presets › Export/Import Presets…: choose Export Presets, tick Brushes (and Custom Shapes or Tool Presets if you want them), and save the .pcpresets file. The file embeds every tip bitmap, so it works on its own. Import it on the other machine with the same dialog and Import Presets. Brushes with the same name are replaced. Photoshop can't read a .pcpresets file. You can also copy the whole Presets folder while PhotoCraft is closed.
Use an image as a brush tip
Since v0.10.0 (#3292), Import Brushes… in the Brushes panel or the Brush Preset picker accepts image files as well as .abr: PNG, JPEG, TIFF, PSD, PSB, BMP, GIF, WebP and TGA. PhotoCraft composites the image, treats dark pixels as paint and white or transparent pixels as no paint, crops to the painted area and makes the result a sampled tip. The new preset is named after the file, never overwrites an existing one, and becomes the current brush.
To make a brush from part of an open document, use Edit › Define Brush Preset…:
- Paint or open the shape you want on a pixel layer. Black paints fully, grey paints partly, white doesn't paint.
- Select it with any selection tool. A soft selection edge fades the tip.
- Choose Edit › Define Brush Preset… and type a name. Left blank, it's called "Sampled Brush 1", "Sampled Brush 2" and so on.
The command reads the active layer only, and stays greyed out without a selection and a pixel layer. A tip can be at most 2500 px on its longer side, for both routes. A larger area fails with "too large for a brush tip". An image file can be up to 512 MiB, and since v0.16.0 an image whose canvas is over about 268 megapixels is refused before PhotoCraft renders it.
The Brush Settings panel
Open it with Window › Brush Settings (F5), or the sliders button next to the brush chip in the options bar. It's a floating window with two tabs: Brush Settings and Brushes. A live stroke preview along the bottom redraws as you change settings. The panel menu (the menu button at the top right) has New Brush Preset…, Clear Brush Controls, Reset All Locked Settings and Copy Texture to Other Tools.
The sections are listed in Photoshop's order. Clicking a section's name shows its controls and turns it on, and its box turns it on or off. The lock next to a section keeps its settings when you pick another preset.
| Section | Controls |
|---|---|
| Brush Tip Shape | The tip grid, Size (with Restore original size for sampled tips), Flip X, Flip Y, Angle and Roundness (drag the arrow and dots, or type), Hardness, Spacing (untick it and the pointer's speed sets the spacing) |
| Shape Dynamics | Size Jitter, Minimum Diameter, Tilt Scale (only with the size control on Pen Tilt), Angle Jitter, Roundness Jitter, Minimum Roundness, Flip X Jitter, Flip Y Jitter, Brush Projection |
| Scattering | Scatter, Both Axes, Count (1 to 16), Count Jitter |
| Texture | Paper, Canvas, Noise or Dots textures, or Custom for a pattern a preset brought with it; Invert, Pattern Size, Scale, Brightness, Contrast, Texture Each Tip, Mode, Depth, Minimum Depth, Depth Jitter |
| Dual Brush | Mode, Flip, a second tip from the grid, Size, Spacing, Scatter, Both Axes, Count |
| Color Dynamics | Apply Per Tip, Foreground/Background Jitter, Hue, Saturation and Brightness Jitter, Purity |
| Transfer | Opacity, Flow, Wetness and Mix Jitter, each with its control and Minimum. Since v0.13.0 Wetness and Mix Jitter are greyed out unless the Mixer Brush is the current tool, and keep their values (#5199). The Mixer Brush's Wet, Load, Mix, Flow, Sample All Layers and its automatic load and clean options are here too |
| Brush Pose | Tilt X and Override Tilt X, Tilt Y and Override Tilt Y (two separate overrides since v0.13.0), Rotation and Override Rotation, Pressure and Override Pressure |
| Noise, Wet Edges | On or off, no options |
| Build-up | The airbrush: keeps laying down paint while the pointer rests, with a Rate |
| Smoothing | Smoothing amount, Pulled String Mode, Stroke Catch-up, Catch-up on Stroke End, Adjust for Zoom |
| Protect Texture | Keeps the current pattern and scale when you switch to another textured preset |
The last five rows (Noise to Protect Texture) are switches: clicking them toggles them without leaving the section you're looking at. Turning Smoothing off keeps its amount and options for later.
Smoothing got two fixes in v0.11.1 and v0.12.0: the lagging brush now keeps the pressure of the point it has reached (v0.11.1, #5726), and catch-up compares pressure and tilt as well as position (v0.12.0, #7748).
A response curve for each control
Each jitter block has a Control: menu: Off, Fade, Pen Pressure, Pen Tilt, Stylus Wheel and Rotation, plus Initial Direction and Direction for Angle Jitter. Since v0.10.0 (#3302), the curve button next to the menu opens a Response curve for that one control. Drag the points to shape how, say, pen pressure drives size, without changing how it drives opacity. The button is lit while a curve isn't straight.
Curves exist for Fade, Pen Pressure, Pen Tilt, Stylus Wheel and Rotation. Off and the direction controls have no input to shape, and Angle Jitter's controls set an angle, so they have no curve. A brush's curves travel with its preset.
Pen pressure, tilt and rotation
Two settings in Edit › Preferences › Tools… apply to every brush:
- Use tablet pressure: on by default. Off makes a pen paint like a mouse.
- Pressure curve (since v0.7.0): one curve that the pen's pressure passes through before it reaches any brush. A brush's own response curves apply after it.
In the options bar, the Brush and Eraser also have Pressure for Size and Pressure for Opacity buttons.
What reaches the brush depends on the system:
| System | Pressure | Tilt | Barrel rotation | Notes |
|---|---|---|---|---|
| Windows | Yes, through Windows Ink | No | No | The pen's tilt and rotation are dropped by the windowing library; reading them, and the eraser end, is still open as #7704. Pressure needs Windows Ink on in the tablet driver; there is no WinTab mode. Since v0.12.0 the barrel button works as a right-click and with Alt for resizing (#6195) |
| macOS | Yes | Yes | Yes | Read directly from the system's tablet events. Flipping the pen to its eraser end switches to the Eraser |
| Linux (X11) | Yes | Yes | Partly | Read through XInput2. Upstream's hardware table marks rotation as partial |
| Linux (Wayland) | Through Xwayland | Through Xwayland | Through Xwayland | With a pen attached, PhotoCraft opens through Xwayland so it gets pen input. Native Wayland input is still #79 |
| Online editor | Yes | Yes | Yes | Pointer Events in the browser |
Issue #1301, "Brush Rotation isn't actually driven by rotation", is still open. It was reported on Windows, where no rotation arrives at all.
Since v0.13.0 the brush outline follows the pen where the pen sends tilt and rotation: a tip whose angle is set to Pen Tilt or Rotation turns as you tilt or twist the pen, and with Brush Projection on a round tip's outline flattens as the pen tilts (#6380).
Size limits
The Brush and Eraser go up to 5000 px, the same as Photoshop, in the options bar, the Brush Settings panel and the Brushes panel's size slider (v0.10.0, #5709). A Dual Brush tip goes up to 2500 px. Since v0.16.0 the stroke engine also stops one stretch between two pointer samples at about a million dabs, so a script or damaged file with a tiny spacing over a huge distance can't stall it (#8957). You won't reach that limit by painting.
Brush presets and tool presets
- Brushes panel. Window › Brushes opens it as a dockable panel. Since v0.10.0 it docks, splits and floats like the other panels (#4603). The same list is the Brushes tab of the Brush Settings window and the Brush Preset picker. It shows groups and nested folders as a list or a grid, with a Size slider for the current brush and Search Brushes. Since v0.13.0 a Preview size slider below it makes the grid cells and list rows smaller or larger (#8162), and a folder with search matches can be collapsed while you search instead of staying open (#7270). Drag a brush to reorder it or move it to another group or folder, drag a folder onto another to nest it, and right-click for rename and delete. The buttons at the bottom import, create and delete brushes.
- New brush presets. The + button (Create new brush from the current settings) opens a New Brush Preset dialog with the name and three options: Capture Brush Size in Preset, Include Tool Settings (mode, opacity, flow and the pressure buttons) and Include Color.
- Each tool keeps its own brush. The Brush, the Eraser and the other painting tools each remember their brush and options, and since v0.12.0 they still have them after a restart.
- Preset Manager. Edit › Presets › Preset Manager… lists brushes, custom shapes or patterns. Select one to rename or delete it, or click Load… to import a
.abr. - Tool Presets. Window › Tool Presets saves a tool with its options. Since v0.11.1, + saves only the current tool's options (#7357).
- Export and import. Edit › Presets › Export/Import Presets… writes or reads a
.pcpresetsfile with your brushes, custom shapes and, since v0.11.1, tool presets (#6889). Built-in presets are left out. An imported tool preset replaces one with the same name for the same tool. A name that belongs to another tool stops the import with "a preset of that name belongs to another tool; rename it before importing", and nothing changes.
Painting tools that use brushes
All of these take their tip from the brush engine. See the list of every tool for the rest.
| Tool | Key | Drawn live while you drag? | Notes |
|---|---|---|---|
| Brush | B | Yes | The full Brush Settings panel |
| Pencil | B | Yes | Hard, aliased pixels with a square cursor; Auto Erase |
| Mixer Brush | B | No, the stroke still appears when you release in v0.16.0 | v0.12.0 added a Current Brush Load swatch with Load Brush and Clean Brush, and buttons to switch off the automatic load and clean after each stroke (#6939). No Alt-click loading yet (#2247) |
| Color Replacement | B | Yes | Repaints with the foreground colour, keeping the texture |
| Eraser | E | Yes | Brush, Pencil or Block mode |
| Background Eraser | E | Yes, since v0.12.0 | |
| Clone Stamp | S | Yes | Alt-click sets the source |
| Pattern Stamp | S | Yes, since v0.12.0 | Aligned and Impressionist |
| History Brush | Y | Yes | Since v0.12.0 the source state can be set from the History panel |
| Healing Brush | J | Yes | |
| Spot Healing Brush | J | Shows the area as a dark overlay | Heals when you release, as Photoshop does |
| Remove | J | Shows a tint | Fills when you release |
| Blur, Sharpen, Smudge | none | Yes | Blur and Sharpen strokes became 2.6 to 3.3 times faster in v0.12.0 |
| Dodge, Burn, Sponge | O | Yes |
The live strokes for Pattern Stamp and Background Eraser, and the Spot Healing overlay, came in v0.12.0 (#3759). When a live stroke is released, the result is the same pixels the preview showed. The Art History Brush is the one Photoshop painting tool PhotoCraft doesn't have.
Keyboard and mouse
These are the default keys. Most can be changed in Edit › Keyboard Shortcuts…. The full list is in the shortcuts guide.
| Action | Windows, Linux | macOS |
|---|---|---|
| Smaller / larger brush (25 % steps, down to 1 px) | [ / ] | [ / ] |
| Softer / harder brush (in 25 % steps) | Shift+[ / Shift+] | ⇧[ / ⇧] |
| Resize (drag left or right) and change hardness (drag up or down) on the canvas | Alt+right-drag, or Ctrl+Alt-drag | ⌃⌥-drag |
Turn the tip 1° (Shift: 15°) with a painting tool | ← / → | ← / → |
Opacity: 1 = 10 % … 0 = 100 %, two digits quickly for an exact value | number keys | number keys |
| Flow (Brush and Eraser) | Shift+number keys | ⇧+number keys |
| Precise crosshair instead of the brush outline | Caps Lock on | Caps Lock on |
| Previous / next brush preset (since v0.13.0) | , / . | , / . |
| First / last brush preset | Shift+, / Shift+. | ⇧, / ⇧. |
| Brush Preset picker at the pointer | right-click | right-click |
| Pick a colour from the canvas | Alt-click | ⌥-click |
| Straight line from the last point | Shift-click | ⇧-click |
| Erase with the Brush or Pencil's own brush while held | hold ` | hold ` |
| Brush Settings panel | F5 | F5 |
Notes:
- The number keys set opacity only for the Brush, Pencil and Eraser (and flow for the Brush and Eraser). The other brush tools ignore them, because their number is a strength, exposure or tolerance. Since v0.13.0, with Build-up (the airbrush) on, the Brush and Eraser swap them, as Photoshop does: the number keys set Flow and
Shift+number sets Opacity (#7853). - The previous and next brush keys step through the presets in the order the Brushes panel lists them, and wrap around at the ends (#7614).
- On layouts where
[and]need AltGr, the keys in the same positions work instead. On a German layout that'sÖand#. - Edit › Preferences › Tools… › Right click with painting tools can make right-click erase instead of opening the picker.
- Caps Lock is read from the system each frame. That doesn't work on Wayland or in the browser, so the crosshair toggle isn't available there. Edit › Preferences › Cursors… sets the default painting cursor instead.
Performance and troubleshooting
Strokes lag behind the pen. In upstream's tests most of the lag on NVIDIA cards was the wait for vertical sync, about 50 ms. v0.10.0 added Edit › Preferences › Performance… › Low-Latency Drawing (vsync off, applies at next launch) (#5274). It's off by default. Turn it on and restart PhotoCraft. Frames then reach the screen without waiting for vsync, so the canvas can tear slightly while it changes, and frames are capped at 240 per second. It doesn't help every system: lag on Intel Iris Xe under Linux has another cause. #1343 is still open as of v0.16.0. To measure a stroke for a bug report, start PhotoCraft from a terminal with PHOTOCRAFT_STROKE_TRACE=1.
Large brushes are slow. Very big tips still lag (#2619 and #1994 are open). Lower the size, raise the spacing, or turn off dynamics you don't need, such as Scattering with a high count or Dual Brush.
A big .abr takes a while. On the desktop the import runs in the background, so you can keep working or cancel it. Tips over 2500 px are scaled down on the way in.
Some settings look different after import. In the desktop app v0.16.0 doesn't show the import notes. Check the brush in Brush Settings, and compare it with What doesn't come across.
No pressure. Check that Use tablet pressure is on in Edit › Preferences › Tools…, that the brush's Pressure for Size or a Pen Pressure control is set, and on Windows that Windows Ink is on in the tablet driver. Pressure that feels jumpy on Windows is a known issue (#2046).
"not a readable brush file (.abr): …" The file isn't an ABR file of a version PhotoCraft reads, or it's damaged. "the brush file holds no readable brushes" means nothing in it could be decoded.
More fixes, including tablet setup per system and cursor lag, are in the troubleshooting guide.
In the online editor
The online editor at photocraft.im runs v0.16.0 and has the same brushes, panels and settings. Pen pressure, tilt, barrel rotation and the eraser button arrive through the browser's Pointer Events. .abr import works there through File › Open, drag and drop, and Import Brushes…, up to 512 MiB per file, and so does importing an image as a tip. Your brushes are kept in the browser's storage for the site, not in a folder you can copy, so use Export/Import Presets… to back them up: the export downloads Presets.pcpresets. Low-Latency Drawing isn't offered in the browser, which presents frames itself, and the Caps Lock crosshair doesn't work there. For huge brush libraries and the full 1 GiB limit, use the desktop app.
For the other file types PhotoCraft opens, see file formats.