The node-based image editor.

Joined March 2026
ArcBrush 1.7 is out: build a material, see it lit in 3D, and add real depth of field, all in one node graph. ArcBrush is a native node-based image editor for Windows, macOS, and Linux. 1.7 is the materials release, and the biggest yet: 18 new nodes, and 32-bit float and color management now free for personal use. Plus trim sheets you texture one trim at a time, a full Pixel Art editor for sprites and tiles, Path Warp for text on a curve, Droste in Polar Remap, PSD import and export, a Viewer where every cell is an editor, and nearly every node faster, many of them several times over. 🎥 3D Render node. Put a texture set, or a lone image, on a lit, shadowed primitive, a shader ball, or your own glTF, OBJ, or FBX mesh, lit by an HDR environment and point and directional lights you drag in the Preview. Every built-in shape, the shader ball included, takes Tessellation and Height displacement. Orbit, pan, double-click a point to focus on it, and dolly right up to the surface to inspect a seam. Runs on the GPU or the processor. 📸 Lens Blur node. Real lens defocus with click-to-focus, aperture blades, anamorphic bokeh, cat eye, aberrations, six lens presets, and any picture as the aperture, driven by 3D Render's depth output. Levels gains black and white point pickers that read a depth distance exactly, and a Normalize view makes a depth pass readable at a glance. 👾 Pixel Art node. A pixel-precise sprite, icon, and tile editor inside the graph: Pixel-Perfect lines, layers, symmetry, seamless tiles you draw in place with Tile Preview, Shading ink, Marquee, Lasso, and Magic Wand selections, and Indexed palettes you recolor in one drag and share with Swatches. It even paints textures: wire it into 3D Render and every stroke lands on your model, pixel for pixel. 🔓 32-bit for everyone. 32-bit (Float) Mode, OpenColorIO color management, and 16-bit, OpenEXR, and Radiance HDR export are now free for personal and noncommercial use, and new projects start in 32-bit. Pro and Studio remain the commercial licenses at unchanged prices. 🧱 Texture sets. The Texture node bundles Base Color, Normal, Roughness, Metallic, AO, Height, Opacity, and Emissive onto one wire, and every placement and warp node moves the whole set, turning its normal map with it. Texture Folder builds a set from a folder of maps, Texture Layer stacks sets with height deciding which surface wins, and Export Texture writes one file per map for Substance Painter, Blender, Unreal, Unity, Godot, glTF, and more. Separate, Scatter, and Arrange work on whole libraries of sets, Merge and Mask Apply compose whole sets, and Levels, Curves, and the other color nodes edit one map of a set. 📐 Trim Sheet node. Lay out named, colored trims in any layout, nested trims and empty space included, by dragging lines or drawing boxes, or wire in a texture you already have and Detect Trims reads its layout. Right-click a trim and Edit This Trim on Its Own builds its branch: Crop cuts a trim-shaped window from any material on every map at once, Tile Strip repeats it down a strip, and Arrange's Original Positions puts every trim back on the sheet, with Extrude so it survives mipmaps. Layouts copy to and from ZenUV for Blender. ⛰️ Surface detail. Height Layer and Normal Layer stack surfaces, Bevel turns any shape into a beveled height ramp, Ambient Occlusion bakes contact shading, Curvature reads edges and cavities out as wear masks, and Normal to Height gives normal-only assets a height map. 🔗 Along a path. The new Path Warp node bends a picture along a path: text on a curve, a badge's top and bottom lines, a rope or braid border, a ribbon, or dashes, with presets that start each job on a shape of its own. Scatter gains a Path mode that places stamps along a path or a mask's edge, for leaves on a vine, stitches around a patch, chains, and footprints. Roto's new shape editor draws the paths for all three, with multi-shape selection, a transform box, feather on the canvas, and vector-app point gestures, and Copy Path and Paste Path share one curve between them. 🖼️ Edit in any Viewer cell. Every cell of the Viewer zooms and pans on its own, a click selects its node, and Paint, Roto, Crop, Pixel Art, and the other tools edit right in their cell while the rest keep drawing. Paint a texture on the left, watch the 3D model change on the right. 🎨 Generators over images. Noise, Pattern, Gradient, and Shape draw over a picture wired into their new Background input, with Blend Mode, Opacity, and a Mask. Over a texture set they, and Text, draw into one map you pick, so grunge goes straight into a material's Roughness. 📄 Export Data node. Write a CSV, JSON, or custom text file about the pictures in your graph: sprite atlas JSON for Phaser and PixiJS, Starling XML, C# and GDScript sprite tables, CSS sprites, web image manifests, review spreadsheets, dataset metadata, and texture map lists, with a live preview and a column for every token you pick. 📂 PSD in and out. Open .psd and .psb files anywhere an image opens, as the flattened picture in every bit depth with transparency kept, and save flat 8 or 16-bit PSDs from Export Image and Export Batch. Every import now converts through its embedded color profile, so Adobe RGB and Display P3 photos stop looking washed out. 🌀 Polar Remap, redesigned. A Droste mode repeats a picture inside itself forever, as a tunnel or a spiral that follows a cutout's outline, with a Zoom that loops for infinite-zoom animation. One-click presets for a little planet, a wrap, and an unwrap. ⚡ Faster everywhere. Nearly every node cooks faster, most of all in 32-bit: Smart Scale, Dither, and Mesh Warp run 4 to 11 times faster, Noise 3 to 8 times at 4K, and Glow about 3 times. Every warp from Transform to Puppet Warp keeps pace with the handle at any image size, sliders update only what is on screen while you drag, generators stay interactive at 4K, PNG export is several times faster, Noise and Smart Scale run on the GPU, and opening and saving no longer freeze the window. 🔌 Faster wiring. Drop a wire anywhere on a node to connect its best free pin, right-click a wire or press Tab over it to insert a node that fits, Replace With... keeps a node's wires, Insert After... grows a chain, and Connect Selected (J) wires a row in one step. 📏 A better Preview. Rulers and guides with snapping, batch playback with a Playback Bar, view buttons for a node's other outputs, and hold Q for a clean view. 🛡️ Sturdier. Safer saves and autosave recovery, a shared memory ceiling sized to your machine, a clear "Not enough memory" instead of a crash, and an unexpected error no longer closes the app. ✨ Also in 1.7: a Tag node, file name tokens that say which node they read, font previews as you move through the font list, Roto output straight to a cutout, soft masks that blend without a crease, Emboss profiles, dashed Shape strokes, a brighter Glow, Open with ArcBrush from the file manager, project templates, collapsible Parameters sections, redrawn node icons, Export Node Graph Image, arrow keys that walk the node graph and nudge handles, and a very large batch of fixes. ⬇️ Free for personal use, no account needed. Pro for commercial work is $49 once, no subscription. Windows, macOS, Linux.
5
3
2
19
19,912
Another preview of new features coming soon to ArcBrush: The 3D Render node
15
201
Sneak peek at the new Lens Blur node coming to ArcBrush in the upcoming 1.7 release
1
1
10
233
ArcBrush v1.6.3 is out! A bugfix release for the 1.6 series: 23 fixes, most of them the kind you only notice when they bite. Blurs at transparent edges, JPEG exports with soft alpha, exports that failed halfway, and a few crashes are all covered. ☁️ Blur no longer draws a dark border at a transparent edge. Blurring an 8-bit image with transparency, like a Transform output or a cut-out, mixed the see-through pixels' black into the edge. Every blur type now weighs neighbors by their opacity, as 32-bit (Float) Mode already did. Radial and Zoom also stop leaving stray pixels at the corners and edges of the picture. 🖼️ JPEG export: semi-transparent edges are no longer too dark. The matte blend now happens in linear light, so soft edges land on the background color the way they look in the preview. 💾 A failed or cancelled export never damages the file that was already there. Every format now writes aside and swaps into place only when complete, so a full disk, a cancel, or a crash mid-write leaves your previous export intact. 💫 Displace reads a 32-bit (Float) displacement map at full precision. A smooth float map was rounded to 256 levels before use, so larger Amount values stepped visibly. Not anymore. ♻️ Switching or reopening a document no longer carries state over. Caches, an armed eyedropper, half-finished sticky or group edits, and Export Batch progress all reset with the document, so a new document can never be served the previous one's state. 🛡️ Fewer crashes: a corrupted or out-of-range parameter value is brought back into range instead of crashing, a project with duplicate node IDs warns you instead of silently dropping nodes, and signing in again after a session expiry no longer terminates the app. 🎨 Brushes: a brush whose stored fingerprint disagreed with its image repairs itself, import rejects a duplicate selection cleanly and reports a truncated Photoshop brush file, and undo history's memory ceiling now counts brush strokes. 🎲 Film Grain and Hex Tile: a seed of -1 now varies per node instead of every node sharing one fixed pattern. 🐧 Linux: the AppImage and native desktop entry launch from paths containing spaces or special characters, and report their file association correctly. ✨ Smaller things: a cancelled cloud request (Remove Background, Upscale) stops right away instead of waiting out the timeout, Layer rows fed by a multi-output node name their source pin, a Value typed right after naming a new variable is kept on click-away, Collect Files can be undone, and "Convert to Absolute Path" on a collected asset now points at a file that exists. Updating is safe: no project file changes in this release, and documents open exactly as they did in 1.6.0 through 1.6.2. A few renders do change on purpose, and only where the old result was wrong: 8-bit blurs of images with transparency, JPEG exports with partial alpha, float displacement maps, and Film Grain or Hex Tile nodes still on seed -1. If you have a randomized look you want to keep, set that node's seed to an explicit number before updating. ⬇️ Download: arcbrush.com/download
1
9
312
ArcBrush 1.6 introduces a pressure-sensitive brush engine, non-destructive painting, and tablet support, with new nodes like Puppet Warp and a rebuilt Inpaint tool. alternativeto.net/news/2026/…
1
2
17
1,794
ArcBrush 1.6 is out! The painting release. ArcBrush now has a full brush engine: pressure, tilt, and twist from your tablet, image tips with grain, 29 built-in brushes, and Photoshop brush import. Alongside it, a Swatches panel with built-in color libraries, fully customizable keyboard shortcuts, per-layer transforms, a rebuilt Inpaint, and a Puppet Warp node. 🖌️ New brush system. One current brush shared by the toolbar, shortcuts, Brush Library, and Brush Studio, with saveable presets, Spacing, Flow, and Jitter, stroke stabilization, and per-brush blend modes. 29 built-in brushes across seven categories, and Restyle Strokes re-renders paint already on the canvas with the current brush. 🖋️ Pressure, tilt, and twist. Brushes respond to real pen pressure with automatic eraser-tip switching, and Dynamics can follow how far and which way the pen is tilted or rolled (Windows and macOS). Help > Tablet Diagnostics shows exactly what the pen is sending when a stroke looks wrong. 🖼️ Image tips, grain, and color dynamics. Build a brush from an image plus an optional grain texture, embedded or linked to a file you keep editing elsewhere. The Grain Generator makes a seamless texture from a curated list of looks without leaving Brush Studio, and dynamics can shift hue, saturation, and value as you paint. 📥 Import Photoshop and GIMP brushes. Drop a .abr or .gbr onto the Brush Library. A review screen previews every brush as ArcBrush renders it and labels what carried over, even in packs of hundreds. Share your own sets as a single .arcbbrushpack. 📌 Puppet Warp node. Pose and bend artwork by placing pins on a generated mesh and dragging them; the image deforms naturally around the pins you hold still. Fine-tune with a pin list, Pose Strength and Smoothing, adjustable mesh density, and a Rest mode for repositioning anchors. The deformation previews live while you drag and works across a whole batch. 🎨 Swatches. Named, grouped color palettes saved with the document, drag and drop to any color control in the app, and a read-only list of every color already used in the graph. Ships with a catalog of built-in libraries, from a fully named color wheel to popular pixel-art palettes. ⌨️ Customizable keyboard shortcuts. Settings > Keyboard rebinds any command in ArcBrush, including a key that drops a specific node onto the graph. Search by name or by pressing the keys, and export your shortcuts to import on another machine. 🔲 Per-layer transforms. Move, rotate, scale, and skew each row of a Layer node on the canvas, click a layer in the preview to select it, lock a layer so it cannot be moved, and flip the whole stack with Reverse Order. 🔧 New Inpaint engine. Masked areas are rebuilt by matching texture and structure from across the whole image instead of growing patches inward from the edge, so brickwork, foliage, and sand continue rather than smearing. Four sliders replaced by one Source Locality control. ✨ Also in 1.6: an Inspect node that reports exactly what an image contains (size, channels, depth, levels, alpha coverage, content bounds, and any NaN or overbright pixels in 32-bit mode), compare two Viewer Slots side by side with wipes and Flicker, Waveform Luma and RGB Parade scopes, a Variables panel for reusable {tokens}, a Graph Overview, SVG layer and vector controls, a Crop node you can size exactly and lock to an aspect ratio, arithmetic in any numeric field (1920/3), a Painting workspace, a faster and lower-latency node graph, and a very large batch of fixes. ⬇️ Free download. Mac, Windows, Linux.
3
4
21
1,531
Check out ArcBrush - a powerful, node-based, procedural 2D graphics app for Windows, Mac and Linux. To me it felt a lot like ImageMagick, just 100x easier to use. gamefromscratch.com/arcbrush… #gamedev #indiedev #pixelart
6
1
46
2,883
ArcBrush retweeted
ArcBrush 1.5, Albert Omoss' node-based image editor, introduces a color-managed 32-bit float pipeline, OpenEXR support, Cryptomatte, eleven new nodes, and other improvements.
2
10
89
9,975
ArcBrush finally earns the "Brush" in its name. 🖌️ We rebuilt painting from the ground up: a real brush engine with procedural + image tips, grain, pressure/tilt/twist dynamics, blend modes, and a full Brush Library + Studio. Create a custom brush from any node in your graph. Import your .abr brushes too. Coming soon 👇
1
1
10
535
Check out $49 node-based image editor #ArcBrush The app, pitched as an alternative to #Photoshop, now has a full 32-bit pipeline, Cryptomatte support, and a range of new composite nodes cgchannel.com/2026/07/arcbru… #retouching #conceptart #illustration #gamedev #VFX @albertomoss
9
60
4,595
ArcBrush retweeted
Go get it!
Shipped ArcBrush 1.5 today! The whole graph runs in color-managed 32-bit float now. Linear light, overbrights survive to export, OpenEXR, Cryptomatte, eleven new nodes. Native C++, built solo. Free for personal use. $49 once for commercial. No subscription.
3
6
1,574
ArcBrush 1.5 is out today. The whole graph now runs in color-managed 32-bit float. Linear-light compositing, overbrights that survive to export, OpenEXR and Cryptomatte, eleven new nodes. Still free for personal use. Commercial is a one-time $49. No subscription.
1
4
35
1,763
ArcBrush v1.4.0 is out! The procedural release: scatter stamps across a canvas, split objects out of an image, embed your whole graph inside an exported file, and watch up to nine node outputs at once. 🎨 New node, Scatter: place hundreds of transformed stamp copies in an Area or Circular layout, with per-instance random scale/rotation/opacity/flip, an optional density mask, 18 blend modes, seamless edge-wrap tiling, and a deterministic seed. Drag the region right on the canvas. ✂️ New node, Separate: split a single image's disconnected objects into a batch of clean per-object cutouts (by transparency, a corner/chosen color, or a mask) - ready to feed Scatter or Export Batch. 🖼️ Viewer Slots: hover any node and press **1–9** to pin its live output to a Preview grid cell, each with its own manipulator. Slots are saved with the project and undoable. 🧬 Embedded recipes: opt in on Export, and a privacy-sanitized copy of your whole graph rides inside the exported PNG, WebP, JPEG, or TIFF - drop the image back onto ArcBrush to reopen the graph. 📐 Manipulator constraints & snapping: hold Shift to constrain a preview manipulator (axis-lock, proportional, 15° rotation) and Ctrl to snap it to the frame's edges, corners, center, or thirds. Shift also draws straight strokes when painting. ⚙️ Parameter presets + Compact Parameters: every node's panel gets a gear menu to save/load/reset presets, plus a new on-by-default compact one-line layout (View → Compact Parameters). …plus Linux in-app auto-update (AppImage now matches Windows & macOS), native Linux file dialogs, a Missing Files relink dialog, sharper UI text, keyboard default buttons on dialogs, and a big batch of fixes.
3
1
11
1,285