The node-based
image editor.
Build once. Export everything. Wire 86 nodes into non-destructive pipelines that produce every color variant, every format, every asset, automatically. One graph replaces hours of repetitive manual work.
Free to use. Native C++ desktop app for Windows, macOS, and Linux.
Built for: Game Artists · Pixel Artists · Illustrators · Concept Artists · Texture Artists · Designers · Anyone tired of repetitive exports
Who it’s for
If you’ve ever exported
the same thing twice,
this is for you.
Game Artists
200 item icons in 12 color tiers. ArcBrush builds the pipeline once and exports all 2,400 variants. Drop them straight into your project folder.
Pixel Artists & Indie Devs
Pixelate, outline, and dither nodes handle retro styling. Sprite sheet export packs variants into a single atlas with a TexturePacker-compatible JSON manifest. Quantize and Palette Remap keep everything within your target palette.
Illustrators
Character sheets, commission variants, color explorations. Define your palette, see every version instantly. Adjust one and all update.
Concept Artists
AI Image Edit takes your rough sketch and fills in the detail. You control the composition. Iterate on style without starting over.
Texture Artists
Seamless Blend makes any source tileable. Normal Map generates 3D lighting data from grayscale. Noise and Pattern nodes create procedural bases. Tile Preview shows any output tiled in a grid. All in one graph.
Designers
Logos in every brand color on product mockups. Marketing assets at every size. Systematic pipelines that produce every variant without repetitive manual exports.
Familiar territory. If you’ve used node-based tools in Houdini, Blender, Nuke, Substance, or Unreal, you already know the paradigm. ArcBrush applies it to 2D image production.
How it works
Your process,
as a graph.
In ArcBrush, every operation is a node. Load an image. Apply a filter. Warp it. Mask an area. Remap colors. Export. Wire them together and the graph does the rest. Change one parameter and only the affected nodes re-evaluate. Nothing is ever baked. Everything stays live.
Wire anything to anything
Typed connections ensure compatibility. Images, masks, palettes, and batches each have their own pin type, and the graph prevents invalid wiring automatically.
Non-destructive forever
Every parameter stays live. Adjust blur radius, swap palettes, change AI prompts, even six months later. The graph re-evaluates only what changed.
Portable graph files
Save your workflow as a .arcb file. Share it with your team. Open it on Windows, macOS, or Linux. It just works. Every parameter, every connection, every embedded asset, exactly where you left it.
Live pipeline
Layer-based tools produce one output at a time. ArcBrush pipelines produce N outputs from one configuration. Toggle "Watch File" on your source images and the graph re-evaluates every time the file changes on disk. Edit in Photoshop and see the result in ArcBrush instantly.
The killer feature
One graph.
Every color variant.
Automatically.
Define a palette with 9 named colors. Wire it into Palette Remap. Connect Export Batch. Click export. Nine named PNG files appear in your folder, each one recolored while preserving every highlight, shadow, and gradient from the original. Change the palette, re-export. Done.
Luminance preserved
The remap shifts hue and saturation in perceptual color space. Highlights stay highlights. Shadows stay shadows. The recolor looks painted, not tinted.
Import palettes from your tools
Drop in palette files from Aseprite, Photoshop, GIMP, Krita, Illustrator, Affinity, or Inkscape. ArcBrush reads .gpl, .ase, .pal, and .aseprite files, including names and colors.
Sprite sheet export
Export all variants as individual files or pack them into a single sprite sheet with a TexturePacker-compatible JSON manifest. Ready to drop into your game engine.
Named variants
Each palette slot has a name. Export Batch uses that name in the filename. potion_red.png, potion_blue.png. Consistent, automatic, every time.
Palette From Image
Don't have a palette? Feed any reference image into Palette From Image. It extracts the dominant colors automatically. Wire that into Palette Remap.
One change, all variants update
Adjust the source art. Every variant re-exports with the change. Adjust the palette. Every variant shifts. The graph is live.
Batch processing
Drop a folder.
Process everything.
Ten or ten thousand.
Load an entire directory with Image Folder, or hand-pick images with Collect. Wire the batch through any chain of filters, color corrections, and transforms. Every frame flows through every node. Connect Export Batch at the end and hundreds of consistently named files appear in your output folder. Build the pipeline once, run it on anything.
Image Folder
Resize
Levels
Sharpen
Export Batch
Transparent propagation
Wire a batch into any node and every frame flows through it. No batch-specific modes, no loops, no scripting. Blur, Levels, Sharpen, Color Balance: they all handle batches natively.
Folder scanning
Image Folder loads an entire directory with glob-style filtering, recursive subfolder scanning, and sorting by name, date, or file size. Cap the batch with a frame limit when testing on large folders.
Smart file naming
Export Batch names every output with configurable tokens: {name}, {source}, {index}, {width}, {height}, {date}, {node}, {graph}. A live preview shows the resolved filename as you type.
Live progress
Every node in the pipeline shows a progress bar during batch evaluation. Export Batch tracks file writes in real time. You always know exactly where things stand.
Split and route
Decompose batches with Split: extract individual frames, divide into equal chunks, slice by index, or filter by name pattern. Branch your pipeline for per-frame or per-group processing.
AI-aware batching
When a batch hits an AI node, a confirmation modal shows total credit cost with cache hits pre-deducted. Failed frames retry individually without re-running the entire batch.
AI integration
Optional AI.
Built right in.
ArcBrush is a complete node-based image editor with optional AI generation built in. FLUX, Nano Banana 2, GPT Image 2, four background-removal engines, and 4× upscale wire into the graph as ordinary nodes. Generate an image from a text prompt, or feed in your own images to restyle, edit, upscale, or remove backgrounds. Use them when they help, skip them entirely if you prefer. Every filter, mask, warp, color tool, and export pipeline still works locally without an account or internet connection.
Nano Banana 2
GeminiPowered by Gemini, Nano Banana 2 accepts multiple input images simultaneously: reference photos, style examples, and masks in one call. Strong prompt understanding for text-to-image, image editing, multi-image fusion, and guided generation.
GPT Image 2
OpenAIOpenAI's image model with the best in-image text rendering of any model (signage, UI mockups, posters, multilingual labels) and the strictest prompt adherence on complex instructions. Available for both text-to-image and image editing.
FLUX.2 Max
Black Forest LabsHighest fidelity generation and editing from Black Forest Labs, for both text-to-image and image editing workflows.
FLUX.2 Pro
Black Forest LabsHigh-quality generation and editing. Great balance of quality and capability for production art and professional editing workflows.
FLUX Fast
Black Forest LabsLow cost, high speed. Perfect for exploring ideas before committing to a more detailed generation. Ideal for rapid iteration.
FLUX.2 Turbo Edit
Black Forest LabsFast, affordable image editing. Great for quick instruction-based edits and simple transformations at the lowest editing cost.
Background Removal
4 enginesFour engines at the same flat cost: rembg (fast, open-source), Bria RMBG 2.0 (default, best on hair and complex edges), Ideogram (illustrations, AI art, typography), and Pixelcut (product photography and e-commerce).
AI Upscale
AuraSR4x super-resolution powered by AuraSR. Two model versions: v1 for general use, v2 for photographs and non-AI images. Enable overlapping tiles for seamless results on large images.
ArcBrush is fully functional without AI. All 82 non-AI nodes, including every filter, transform, mask tool, warp, and export, work without an account, without signing in, without limits. AI generation is an optional add-on powered by credits. If you want to try AI, sign in with one click and get 10 free credits.
Starter
Best for trying AI features and occasional generation.
Plus
For regular AI-assisted workflows.
Pro
For heavy AI use and production pipelines. Lowest per-credit cost.
Generations per model
At standard resolution (up to 1024x1024). Higher resolutions use more credits.
| Model | Credits | Starter | Plus | Pro |
|---|---|---|---|---|
| FLUX FastText to Image | 0.2 | 1,750 | 4,000 | 9,000 |
| FLUX.2 Turbo EditImage Edit | 0.5 | 700 | 1,600 | 3,600 |
| Remove BackgroundRemove BG | 1 | 350 | 800 | 1,800 |
| AI UpscaleUpscale | 1 | 350 | 800 | 1,800 |
| FLUX.2 ProText to Image / Edit | 2 | 175 | 400 | 900 |
| GPT Image 2Text to Image | 4 | 87 | 200 | 450 |
| GPT Image 2 EditImage Edit | 5 | 70 | 160 | 360 |
| Nano Banana 2Text to Image / Edit | 5 | 70 | 160 | 360 |
| FLUX.2 MaxText to Image / Edit | 5 | 70 | 160 | 360 |
Under the hood
Native. Not a web app.
Not Electron. Not a wrapper.
ArcBrush is a C++20 desktop application for Windows, macOS, and Linux. OpenCV processes your images on the CPU and GPU. OpenGL renders your previews. Every operation runs natively on your hardware. AI nodes reach out to the cloud only when you tell them to.
C++20
Native binary compiled for Windows, macOS, and Linux. No runtime dependencies, no browser engine. Lightweight installer, fast startup.
16.0 MB Win · 23.8 MB Mac · 12.1 MB Linux
GPU-accelerated
Image processing automatically offloads to your GPU when available. Larger images route to GPU for speed, with full CPU fallback on every operation.
Automatic GPU/CPU routing
Parallel processing
Every per-pixel operation distributes across all your CPU cores automatically. Large images process in fractions of a second.
All cores · Adaptive threading
Smart evaluation
Only nodes downstream of a change re-evaluate. Fast nodes update instantly, heavy nodes wait for you to stop dragging. Nothing recomputes unnecessarily.
Incremental · Adaptive debounce
Typed connections
Five pin types (Image, Mask, Palette, Batch, Size Reference), each with strict connection rules. The graph prevents invalid wiring automatically.
5 types · Strict rules
Open format & auto-save
.arcb files are human-readable JSON. Your work is auto-saved at regular intervals with crash recovery on next launch.
JSON · Portable · Crash recovery
Node library
86 nodes.
10 categories.
Infinite combinations.
From basic inputs to AI generation, from pixel-level color control to mesh warps and batch export, every operation in your workflow has a dedicated node. Each one is composable with every other.
Inputs
3Load PNG, JPEG, WebP, TGA, BMP from disk or clipboard
Load all images from a folder as a batch
Vector import with resolution-independent rasterization
Generators
6Solid color starting point at any resolution
Linear, radial, angular, diamond gradients with multi-stop colors and seven interpolation modes
Perlin, Simplex, Clouds, Voronoi, White noise with fBm and domain warp
Checkerboard, stripes, dots, hexagons, brick
Circle, rectangle, polygon, star, ring with optional stroke and tile mode
Render text with system fonts or custom .ttf/.otf files. Searchable font picker, weight/style selection, alignment, rotation, and interactive drag positioning
Transform
17Place any number of images side by side or stacked for comparisons and layouts
Four-point perspective warp with optional background plate
Extract a region by pixel coordinates or percentage
Pixel displacement driven by a grayscale or red/green channel map
Flip horizontal, vertical, or both
Interactive bicubic Bezier grid deformation. Drag control points to sculpt images freely
Shift the image horizontally or vertically with optional edge wrapping
Add border padding with color or extend modes
Cartesian-to-polar and polar-to-Cartesian coordinate transform
Scale to exact dimensions or percentage with multiple algorithms
Pixel-perfect 90°/180°/270° rotation with no interpolation
Content-aware resize via seam carving. Shrinks images while preserving important content
Barrel and pincushion lens distortion
Pack batch frames into a single grid image for game engines or further processing
Grid-based image repeat with mirror mode, row/column offset, and size reference
Translate, rotate, scale with interpolation control and interactive manipulator
Auto-crop transparent or solid-color edges
Filter
20Gaussian, box, median, motion, bilateral, edge-preserving, radial, and zoom blur
Per-channel radial or uniform dispersion simulating lens chromatic aberration
Layer blending with 18 modes (Multiply, Screen, Overlay, Soft Light, and more)
Noise reduction preserving edges and detail
Configurable offset, blur, color, and opacity
Canny edge extraction with adjustable thresholds, kernel size, and custom edge/background colors
Directional emboss with angle and strength
Physically-modeled film grain with eight calibrated stock presets and per-channel grain size, intensity, and tonal response
Bloom/glow effect with threshold and radius control
Newspaper, manga, and offset-print dot screens with Grayscale, RGB, and CMYK modes, five spot shapes, and nine one-click presets
Isolate detail by subtracting a blurred copy. Per-channel or luminance modes for sharpening, frequency separation, and texture flattening
Content-aware fill using mask regions
Composite any number of images as a layer stack with per-layer blend mode, opacity, and visibility
Generate normal maps from height/grayscale images for 3D lighting
Inner, outer, or center stroke around non-transparent regions
Interactive freehand painting directly on images
Reduce to chunky pixels with configurable block size. Essential for pixel art
Mirror-fold and content-aware blend to make any image tileable
Unsharp Mask and edge-preserving Detail Enhance
Edge darkening with shape, size, and falloff
Mask
8Select pixels by color similarity with eyedropper pick, tolerance, and softness controls
Flood-fill contiguous color selection from seed points with tolerance and softness
Apply a mask as the alpha channel of an image
Union, intersection, subtraction, XOR of two masks
Extract masks from alpha, luminance, or any channel
Freehand mask painting with brush tools
Erode, dilate, feather, and threshold masks
Interactive bezier spline rotoscoping
Color
22Convert to grayscale with per-hue channel sliders and film-style presets
Simple brightness and contrast with S-Curve or Linear modes
Combine four single-channel images into one RGBA image, with per-channel fill defaults for any unconnected input
Rearrange, swap, or fill RGBA channels
Split an RGBA image into four single-channel images (R, G, B, A) for independent downstream processing
Shadows/midtones/highlights color shifting
Solid color overlay with 18 blend modes and adjustable opacity
Single-color hue/saturation shift preserving luminance
Bezier curve adjustment per channel
Floyd-Steinberg, ordered, and blue noise dithering for retro and print styles
Adjust exposure in EV stops with offset and gamma. Works in linear light
Map luminance range to a color gradient
Hue, saturation, brightness adjustment
Channel inversion (all, RGB only, or per-channel)
Input/output range with per-channel gamma control
Clarity/local contrast enhancement
Define named color slots for variant generation
Sample a palette from a gradient with seven interpolation modes. Edit colors via the gradient editor; slot names persist across swatch count changes
Auto-extract dominant colors from any image
Full palette-driven variant generation (N colors → N outputs)
Reduce color levels for stylized flat-color look
Reduce to N colors with optional dithering
Keyer
2Green/blue screen removal with spill suppression
Extract matte from brightness values
AI
4Edit existing images with text instructions
One-click AI background removal to clean RGBA
Generate images from text prompts (5 models)
4x super-resolution via AuraSR. Adds realistic detail beyond simple resize
Export
2Export all batch frames as named files or packed sprite sheets with JSON manifest
Save single output as PNG, JPEG, BMP, WebP, TIFF, or TGA
Utility
2Bundle images into a batch for pipeline processing
Decompose a batch into individual images or sub-batches
Features
Serious depth.
Obsessive polish.
Customizable interface
Drag any panel by its title bar to dock, tab, or pop it out into its own OS window for multi-monitor work, with per-monitor DPI scaling. Save and switch between named workspace presets, or Lock Layout once everything feels right.
Auto-save
Your work is saved automatically at regular intervals. Crash recovery restores your last state on relaunch. Never lose progress.
Interactive tools
Mesh Warp (drag a Bezier grid), Roto (bezier spline masks), Corner Pin (perspective warp), Text (drag-position and rotate), Paint and Mask Paint (freehand brush). Draw and sculpt directly in the preview.
Layer compositing
Layer node composites any number of inputs as a layer stack with per-layer blend mode, opacity, and visibility. Drag rows in Properties to reorder the stack.
Warp & distortion
Five warp nodes: perspective (Corner Pin), freeform mesh (Mesh Warp), displacement maps (Displace), polar coordinates (Polar Remap), and lens distortion (Spherize).
Text rendering
System font browser with instant search, weight and style selection, custom .ttf/.otf loading. Position by dragging, rotate with the ring handle. Missing fonts flagged on file open.
Pixel art workflow
Pixelate for chunky retro pixels. Outline for sprite borders. Dither (Floyd-Steinberg, ordered, blue noise) for stylized color reduction. Quantize to a limited palette. Export as sprite sheets.
Sprite sheet export
Export Batch can pack all frames into a single sprite sheet PNG with a TexturePacker-compatible JSON manifest. Configurable columns, padding, background, and power-of-two dimensions.
Film grain
Per-channel analog film grain profiled from real-world film stocks: Kodak Vision3 250D, Vision3 500T, Portra 400, Tri-X 400, Cinestill 800T, Fuji Eterna 250, and Ilford HP5+. Optional mask input for selective application.
Texture tools
Seamless Blend makes any image tileable. Normal Map generates 3D-ready lighting maps from grayscale. Noise generates seamless tileable output. Pattern produces geometric bases. Tile Preview shows any node tiled in a grid.
Channel isolation
View individual Red, Green, Blue, or Alpha channels in the preview panel. Instantly see what's in each channel without exporting.
Histogram
Live histogram overlay in the preview panel shows the tonal distribution of any node's output.
Node groups
Backdrop boxes to organize complex graphs. Drag, resize, rename. Nodes automatically belong by spatial containment.
Node notes & sticky notes
Attach text annotations to any node. Drop standalone sticky notes on the canvas for documentation and reminders.
Undo/redo
Full undo stack for every operation: node creation, parameter changes, connections, group edits. Ctrl+Z / Ctrl+Y.
Minimap
Bird's-eye view of your entire graph. Click to navigate. Toggle on/off.
Preview panel
Full-resolution preview with zoom, pan, pixel grid at high zoom, and color value readout. Lock to any node. Channel isolation and histogram overlay.
Quick-Lock preview
Double-click any node to lock its output to the preview panel, so you can inspect upstream nodes without losing your view. Double-click empty canvas to release.
Lazy evaluation
Hide Thumbnails toggle skips on-canvas thumbnails and only evaluates the selected node's chain. Keeps large graphs responsive when you only need to see one output.
Display color management
Images display correctly on monitors with non-sRGB color profiles. ArcBrush reads your monitor's ICC profile and applies color correction automatically. What you see matches what you export.
6 color themes
Violet (default), Emerald, Ocean, Rose, Amber, and Graphite. Choose the UI tone that suits your eye.
Wire styles
Curved (default), rounded, straight, or right-angle wires with automatic node avoidance.
Reroute nodes
Double-click any wire to insert a compact routing dot that passes the signal through unchanged. Chain multiple reroute dots for cleaner paths, and fan out from one reroute output to several destinations.
Node snapping
Dragged nodes align to their neighbors with dashed guide lines (Snap to Nodes, the default), or to a fixed grid, or not at all. Hold Ctrl to move freely. Pick the mode in Settings.
Graph search
Find any node by name instantly. Ctrl+F to search, Enter to navigate.
Favorites
Star any node from its Properties panel header to pin it to a Favorites section at the top of the Node Library and the right-click Add Node menu. Your most-used nodes stay one click away no matter how categories are arranged.
Keyboard shortcuts
Standard shortcuts for all operations. Ctrl+S save, Ctrl+Z undo, Delete to remove, F5 to re-evaluate, Tab to open add-node menu.
Drag-and-drop
Drop image files onto the canvas to create Image In nodes. Drag from the node library panel.
Clipboard paste
Ctrl+V to paste images from clipboard directly as new Image In nodes.
Quick export
Ctrl+Shift+E to export selected export nodes. Export All in the File menu runs every export node in the graph at once.
6 export formats
PNG, JPEG, BMP, WebP, TIFF, and TGA. Both single-image and batch export support all formats with quality control.
Relative export paths
Type export/sprite.png and the path resolves relative to your .arcb file. Directories are created automatically. Keep exports portable alongside your project.
File watching
Toggle "Watch File" on Image In or SVG Import nodes. When the source file changes on disk, the node reloads automatically. Edit in Photoshop, see it live in ArcBrush.
SVG import
Load vector graphics at any resolution. Resolution-independent rasterization via ThorVG.
Collect Files
Copy all referenced assets into a single folder next to your .arcb file. Share or move projects with everything included. No broken links.
Smart node deletion
Delete a node and its upstream and downstream connections are automatically reconnected. The signal chain stays intact. No rewiring needed.
Relative file paths
Image In, SVG Import, and Export nodes all support relative paths. Type assets/logo.png and it resolves relative to your .arcb file. Projects stay portable.
Node bypass
Disable any node without deleting it. The graph routes around bypassed nodes.
Y-key wire cut
Hold Y and drag across wires to slice them. Fast graph restructuring.
Graph editing shortcuts
Drop a node onto a wire to splice it in. Shake a node to disconnect all its wires. Ctrl+R swaps two selected nodes. Select multiple nodes and drag from one output to fan them all into an array input.
Package as .zip
Bundle a project and every file it references (images, SVGs, fonts, AI outputs) into a single shareable archive. Recipient unzips and opens with no missing-file errors.
Parallel AI generation
Run multiple AI nodes at the same time: generate an image, edit another, and remove a background all in parallel. No waiting for one to finish before starting the next.
Generation log
Track all AI generations with timestamps, prompts, and per-call costs. Session and lifetime cost tracking.
Eyedropper
Every color picker in the app has an eyedropper button for picking colors directly from the canvas. Color Range node uses it for pixel-precise selection.
Multiple blur modes
Gaussian, box, median, motion, bilateral, edge-preserving, radial, and zoom. Eight algorithms, each optimized for different use cases.
18 blend modes
Composite node supports Normal, Multiply, Screen, Overlay, Soft Light, Hard Light, Color Dodge, Color Burn, Difference, Exclusion, Hue, Saturation, Luminosity, and more.
Procedural noise & patterns
Noise node generates tileable textures with a seamless toggle. Pattern node produces geometric patterns. Five noise types, five pattern types, all with full parameter control.
Pro gradient engine
Seven interpolation modes including perceptual OKLab and OKLCh, pigment-mixing Kubelka-Munk, and stepped Constant, with Hue Path control for directing the sweep around the hue wheel. Floyd-Steinberg dither eliminates banding. Shared by the Gradient, Gradient Map, and Palette From Gradient nodes.
Get started
Download ArcBrush.
Build your first graph
in 5 minutes.
Free to use. No account required for the editor. All 82 non-AI nodes work immediately, with no signup, no activation, and no trial period. When you’re ready for AI features, sign in with one click and get 10 free credits to start.
See what's new in the latest release.
Install & launch
Run the Windows installer, drag the macOS app to Applications, or make the Linux AppImage executable.
Build a graph
Right-click to add nodes. Wire them together.
Export everything
Connect an Export node. Click export. Done.