The node-based
image editor.

Wire 87 nodes into one non-destructive pipeline, then re-export every color variant, size, and format in a single pass. Nothing is ever baked.

Native C++ for Windows, macOS & Linux

Who it’s for

If you’ve ever exported
the same thing twice,
this is for you.

Six sets of fantasy game items (potions, rings, gems, arrows, swords, daggers) in red, yellow, green, blue, purple, and pink color variants

Game Artists

200 item icons in 12 color tiers. Build the pipeline once and export all 2,400 variants straight into your project folder.

→  Asset variants · Sprite sheets · Texture production

Pixel art warrior character in 9 color variants on a transparent checkerboard background, each with different tunic colors

Pixel Artists & Indie Devs

Pixelate, Outline, and Dither handle retro styling. Sprite Sheet export packs variants into a single atlas with a TexturePacker-compatible JSON manifest, all inside your target palette.

→  Sprite production · Retro styling · Atlas packing

Cartoon tiger mascot in three color variants: orange, blue, and mint green, each waving

Illustrators

Character sheets, commission variants, color explorations. Define your palette, see every version instantly, adjust one and they all update.

→  Color variants · Commission workflows · Character art

Pencil sketch of a sci-fi weapon on the left, transformed into a detailed 3D render with metallic materials and blue accents on the right

Concept Artists

AI Image Edit takes your rough sketch and fills in the detail. You control the composition and iterate on style without starting over.

→  Sketch-to-art · Rapid iteration · Style exploration

Seamless wood plank texture on the left with its corresponding normal map in blue and purple on the right

Texture Artists

Seamless Blend makes any source tileable. Normal Map generates 3D lighting from grayscale. Noise and Pattern build procedural bases, and Tile Preview shows the result tiled. All in one graph.

→  Tileable textures · PBR authoring · Procedural generation

Two soda can mockups on a beach: one with a green ArcBrush logo, the other with a pink variant, showing brand color exploration on product packaging

Designers

Logos in every brand color on product mockups. Marketing assets at every size. Systematic pipelines that produce every variant without repetitive manual exports.

→  Brand systems · Logo variants · Multi-format export

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.

Load, filter, warp, mask, remap, export: each is a node. Change one parameter and only the nodes downstream recompute. Nothing is baked, everything stays live.

Typed pins

Image Mask Palette Batch Size Reference
An ArcBrush seamless-texture graph: Noise and Pattern generators feed compositing and color nodes, producing a tileable wood-plank texture with albedo, roughness, and normal-map outputs
seamless-texture.arcb · one graph, three map outputs

Typed pins

Images, masks, palettes, and batches each carry their own pin type. The graph refuses an invalid wire before you can make it.

Non-destructive

Every parameter stays live. Adjust a blur radius or swap a palette six months later; only the affected nodes re-evaluate.

.arcb is portable

One graph file holds every parameter, connection, and embedded asset, and opens identically on Windows, macOS, and Linux.

Live re-evaluation

Toggle Watch File on a source, edit it in another app, and the graph re-runs the moment the file changes on disk.

Batch processing

Drop a folder.
Process everything.
Ten or ten thousand.

Load a directory with Image Folder, wire it through any chain of filters and transforms, and connect Export Batch. Every frame flows the whole pipeline; hundreds of consistently named files land in your output folder.

Image Folder

Trim

Outline

Quantize

Export Batch

ArcBrush batch-processing a folder of pixel-art plant sprites through Trim, Outline, and Quantize into Export Batch, producing a transparent sprite sheet of stylized trees, bushes, and cacti

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, and Color Balance 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, and a live preview shows the resolved filename as you type.

{name} {source} {index} {width} {height} {date} {node} {graph}

Live progress

Every node in the pipeline shows a progress bar during batch evaluation, and 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 the total credit cost with cache hits pre-deducted. Failed frames retry individually without re-running the whole batch.

The killer feature

One graph.
Every color variant.
Automatically.

Define a palette of nine named colors, wire it into Palette Remap, connect Export Batch. Nine recolored PNGs land in your folder, each keeping the original's highlights, shadows, and gradients. Change the palette, re-export.

A potion bottle source asset flows through Palette Remap into Export Batch, producing nine color variants (red, orange, yellow, green, blue, purple, magenta, pink, sky blue) shown as a sprite-sheet grid on a transparency checkerboard
palette-remap.arcb · 1 source → 9 variants · perceptual recolor

9 named slots → 9 named files

potion_red.png
potion_orange.png
potion_yellow.png
potion_green.png
potion_sky_blue.png
potion_blue.png
potion_purple.png
potion_magenta.png
potion_pink.png

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

Drop in .gpl, .ase, .pal, and .aseprite palettes from Aseprite, Photoshop, GIMP, Krita, Illustrator, Affinity, or Inkscape, including names and colors.

Palette From Image

No palette? Feed any reference image into Palette From Image and it extracts the dominant colors automatically. Wire that into Palette Remap.

Named variants

Each palette slot has a name, and Export Batch uses it in the filename: potion_red.png, potion_blue.png. Consistent and automatic, every time.

Sprite sheet export

Export all variants as individual files, or pack them into a single sprite sheet with a TexturePacker-compatible JSON manifest, ready for your game engine.

One change, all update

Adjust the source art and every variant re-exports with the change. Adjust the palette and every variant shifts. The graph stays live.

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 4x upscale wire into the graph as ordinary nodes. Generate from a text prompt, or feed your own images to restyle, edit, upscale, or remove backgrounds. Every filter, mask, warp, color tool, and export pipeline still works locally, without an account or internet connection.

An ArcBrush AI workflow: an Image node of a cartoon tiger feeds an AI Image Edit node with a palette and mask, generating four color variants on a tropical beach background
Before and after: a pencil sketch of a wheeled robot transformed into a realistic 3D render
Sketch to polished art
Before and after: a photograph of a girl in a field restyled into anime illustration
Restyle any image
Before and after: red autumn leaves cleanly cut out onto a transparent checkerboard
AI background removal

Nano Banana 2

Gemini

Accepts multiple input images at once (references, style, masks) with strong all-round prompt understanding

GPT Image 2

OpenAI

The best in-image text rendering of any model, and the strictest prompt adherence on complex instructions

FLUX.2 Max

Black Forest Labs

Highest-fidelity generation and editing

FLUX.2 Pro

Black Forest Labs

High-quality, production-grade generation and editing

FLUX Fast

Black Forest Labs

Low cost and fast, for exploring ideas before committing

FLUX.2 Turbo Edit

Black Forest Labs

Fast, affordable instruction-based edits at the lowest editing cost

Background Removal

4 engines

Four engines at one cost: rembg, Bria RMBG 2.0, Ideogram, and Pixelcut

AI Upscale

AuraSR

4x super-resolution, v1 for general use and v2 for photographs

All 83 non-AI nodes run offline: no account, no sign-in, no limits. AI is a paid add-on you opt into. Sign in once and the first 10 credits are free.

Starter

$10one-time
350 credits
Up to 1,750 generations

Best for trying AI features and occasional generation.

Most popular

Plus

$20one-time
800 credits
Up to 4,000 generations

For regular AI-assisted workflows.

Pro

$40one-time
1800 credits
Up to 9,000 generations

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.

ModelCreditsStarterPlusPro
FLUX FastText to Image0.21,7504,0009,000
FLUX.2 Turbo EditImage Edit0.57001,6003,600
Remove BackgroundRemove BG13508001,800
AI UpscaleUpscale13508001,800
FLUX.2 ProText to Image / Edit2175400900
GPT Image 2Text to Image487200450
GPT Image 2 EditImage Edit570160360
Nano Banana 2Text to Image / Edit570160360
FLUX.2 MaxText to Image / Edit570160360
Credits never expireNo subscription10 free credits on signupUniversal across all models

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 the previews, and every operation runs natively on your hardware. AI nodes reach the cloud only when you tell them to.

An ArcBrush graph producing multiple outputs from one coffee-shop photograph: Instagram, website hero, stylized, and batch-print versions, each with different color grading and sizing

C++20

A native binary compiled for Windows, macOS, and Linux. No runtime dependencies, no browser engine, a lightweight installer, and a fast cold start.

16.3 MB Win · 26.9 MB Mac · 11.5 MB Linux

GPU-accelerated

Image processing offloads to your GPU when one is available, and falls back to the CPU on every operation. Larger images route to the GPU for speed.

Automatic GPU / CPU routing

Parallel processing

Every per-pixel operation distributes across all of your CPU cores. Large images process in fractions of a second.

All cores · adaptive threading

Smart evaluation

Only the nodes downstream of a change re-evaluate. Fast nodes update instantly; heavy nodes wait until you stop dragging. Nothing recomputes needlessly.

Incremental · adaptive debounce

Typed connections

Five pin types (Image, Mask, Palette, Batch, Size Reference), each with strict connection rules, so the graph blocks invalid wiring before you make it.

5 pin types · strict rules

Open format & auto-save

.arcb files are human-readable JSON. Your work auto-saves at regular intervals, with crash recovery on the next launch.

JSON · portable · crash recovery

Node library

87 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, composable node.

Inputs

3

Image In

Load PNG, JPEG, WebP, TGA, BMP from disk or clipboard

Image Folder

Load all images from a folder as a batch

SVG Import

Vector import with resolution-independent rasterization

Generators

6

Canvas

Solid color starting point at any resolution

Gradient

Linear, radial, angular, diamond gradients with multi-stop colors

Noise

Perlin, Simplex, Clouds, Voronoi, White noise with fBm and domain warp

Pattern

Checkerboard, stripes, dots, hexagons, brick

Shape

Circle, rectangle, polygon, star, ring with optional stroke and tile mode

Text

Render text with system or custom .ttf/.otf fonts, with full alignment and rotation

Transform

17

Arrange

Place images side by side or stacked for comparisons and layouts

Corner Pin

Four-point perspective warp with optional background plate

Crop

Extract a region by pixel coordinates or percentage

Displace

Pixel displacement driven by a grayscale or red/green channel map

Mirror

Flip horizontal, vertical, or both

Mesh Warp

Interactive bicubic Bezier grid deformation, drag control points to sculpt

Offset

Shift the image horizontally or vertically with optional edge wrapping

Pad

Add border padding with color or extend modes

Polar Remap

Cartesian-to-polar and polar-to-Cartesian coordinate transform

Resize

Scale to exact dimensions or percentage with multiple algorithms

Rotate 90

Pixel-perfect 90/180/270 rotation with no interpolation

Smart Scale

Content-aware resize via seam carving, preserving important content

Spherize

Barrel and pincushion lens distortion

Sprite Sheet

Pack batch frames into a single grid image for game engines

Tile

Grid-based image repeat with mirror mode, row/column offset, and size reference

Transform

Translate, rotate, scale with interpolation and an interactive manipulator

Trim

Auto-crop transparent or solid-color edges

Filter

21

Blur

Gaussian, box, median, motion, bilateral, edge-preserving, radial, zoom blur

Chromatic Aberration

Per-channel radial or uniform dispersion

Composite

Layer blending with 18 modes (Multiply, Screen, Overlay, Soft Light, more)

Denoise

Noise reduction preserving edges and detail

Drop Shadow

Configurable offset, blur, color, and opacity

Edge Detect

Canny edge extraction with adjustable thresholds and custom colors

Emboss

Directional emboss with angle and strength

Film Grain

Physically-modeled film grain with eight calibrated stock presets

Glow

Bloom/glow effect with threshold and radius control

Halftone

Newspaper, manga, and offset-print dot screens in Grayscale, RGB, CMYK

High Pass

Isolate detail for sharpening, frequency separation, and texture flattening

Inpaint

Content-aware fill using mask regions

Layer

Composite images as a layer stack with per-layer blend, opacity, visibility

Normal Map

Generate normal maps from height/grayscale images for 3D lighting

Outline

Inner, outer, or center stroke around non-transparent regions

Paint

Interactive freehand painting directly on images

Pixel Sort

Reorder pixels along rows, columns, angles, or polar spokes for glitch effects

Pixelate

Reduce to chunky pixels with configurable block size, essential for pixel art

Seamless Blend

Mirror-fold and content-aware blend to make any image tileable

Sharpen

Unsharp Mask and edge-preserving Detail Enhance

Vignette

Edge darkening with shape, size, and falloff

Mask

8

Color Range

Select pixels by color similarity with eyedropper, tolerance, softness

Magic Wand

Flood-fill contiguous color selection from seed points

Mask Apply

Apply a mask as the alpha channel of an image

Mask Boolean

Union, intersection, subtraction, XOR of two masks

Mask From Image

Extract masks from alpha, luminance, or any channel

Mask Paint

Freehand mask painting with brush tools

Mask Refine

Erode, dilate, feather, and threshold masks

Roto

Interactive bezier spline rotoscoping

Color

22

Black and White

Convert to grayscale with per-hue sliders and film-style presets

Brightness/Contrast

Simple brightness and contrast with S-Curve or Linear modes

Channel Merge

Combine four single-channel images into one RGBA image

Channel Shuffle

Rearrange, swap, or fill RGBA channels

Channel Split

Split an RGBA image into four single-channel images

Color Balance

Shadows/midtones/highlights color shifting

Color Overlay

Solid color overlay with 18 blend modes and adjustable opacity

Color Remap

Single-color hue/saturation shift preserving luminance

Curves

Bezier curve adjustment per channel

Dither

Floyd-Steinberg, ordered, and blue noise dithering for retro and print

Exposure

Adjust exposure in EV stops with offset and gamma, in linear light

Gradient Map

Map luminance range to a color gradient

HSB

Hue, saturation, brightness adjustment

Invert

Channel inversion (all, RGB only, or per-channel)

Levels

Input/output range with per-channel gamma control

Local Contrast

Clarity / local contrast enhancement

Palette

Define named color slots for variant generation

Palette From Gradient

Sample a palette from a gradient with seven interpolation modes

Palette From Image

Auto-extract dominant colors from any image

Palette Remap

Full palette-driven variant generation (N colors to N outputs)

Posterize

Reduce color levels for a stylized flat-color look

Quantize

Reduce to N colors with optional dithering

Keyer

2

Chroma Key

Green/blue screen removal with spill suppression

Luma Key

Extract matte from brightness values

AI

4

AI Image Edit

Edit existing images with text instructions

AI Remove Background

One-click AI background removal to clean RGBA

AI Text to Image

Generate images from text prompts (5 models)

AI Upscale

4x super-resolution via AuraSR, adds realistic detail

Export

2

Export Batch

Export all batch frames as named files or packed sprite sheets

Export Image

Save single output as PNG, JPEG, BMP, WebP, TIFF, or TGA

Utility

2

Collect

Bundle images into a batch for pipeline processing

Split

Decompose a batch into individual images or sub-batches

87 nodes · 5 typed pins · type-safe wiring

Features

Serious depth.
Obsessive polish.

Node graph

Graph editing shortcuts
Drop a node on a wire to splice it in, shake one to disconnect its wires, or Ctrl+R to swap two. Drag a selection from one output to fan it into an array input.
Smart node deletion
Delete a node and its upstream and downstream reconnect automatically, so the signal chain stays intact.
Node snapping
Dragged nodes align to their neighbors with guide lines, or to a grid, or not at all. Hold Ctrl to move freely.
Node groups
Backdrop boxes that organize complex graphs. Drag, resize, and rename; nodes belong by spatial containment.
Reroute nodes
Double-click any wire to drop in a routing dot that passes the signal through unchanged, for cleaner paths.
Wire styles
Curved, rounded, straight, or right-angle wires with automatic node avoidance.
Node notes & sticky notes
Attach text notes to any node, or drop standalone sticky notes on the canvas.
Graph search
Find any node by name instantly. Ctrl+F to search, Enter to jump to it.
Minimap
Bird's-eye view of the whole graph. Click to navigate.
Node bypass
Disable any node without deleting it. The graph routes around it.
Y-key wire cut
Hold Y and drag across wires to slice them for fast restructuring.

Creative tools

Interactive tools
Draw and sculpt directly in the preview with Mesh Warp, Roto, Corner Pin, Text, Paint, and Mask Paint handles.
Layer compositing
Composite any number of inputs as a layer stack with per-layer blend mode, opacity, and visibility. Drag rows to reorder.
Pro gradient engine
Seven interpolation modes including perceptual OKLab, OKLCh, and pigment-mixing Kubelka-Munk, with Hue Path control and dithering to kill banding.
18 blend modes
Eighteen Composite blend modes, from Multiply and Screen to Hue, Saturation, and Luminosity.
Warp & distortion
Five warp nodes: perspective, freeform mesh, displacement maps, polar coordinates, and lens distortion.
Multiple blur modes
Eight blur algorithms: Gaussian, box, median, motion, bilateral, edge-preserving, radial, and zoom.
Text rendering
System font browser with weight and style selection and custom .ttf/.otf loading. Drag to position, rotate with the ring handle.
Procedural noise & patterns
Noise and Pattern nodes generate tileable textures and geometric bases, with a seamless toggle.
Film grain
Per-channel analog grain profiled from seven real film stocks, from Kodak Vision3 to Ilford HP5+. Optional mask for selective grain.
Texture tools
Seamless Blend makes any image tileable, Normal Map builds lighting maps from grayscale, and Tile Preview shows any node tiled.
Pixel art workflow
Pixelate, Outline, Dither, and Quantize for retro and limited-palette art, ready to export as sprite sheets.
Eyedropper
Every color picker has an eyedropper for sampling colors straight from the canvas.

Preview & inspection

Preview panel
Full-resolution preview with zoom, pan, a pixel grid at high zoom, and a live color readout. Lock it to any node.
Viewer slots
Hover a node and press 1-9 to pin its output to a slot, then compare up to nine side by side in a live Preview grid.
Quick-Lock preview
Double-click a node to lock its output to the preview, so you can inspect upstream nodes without losing your view.
Channel isolation
View individual Red, Green, Blue, or Alpha channels in the preview without exporting.
Histogram
Live histogram overlay showing the tonal distribution of any node's output.
Display color management
Reads your monitor's ICC profile and corrects color so the preview matches your export, even on non-sRGB displays.
Lazy evaluation
Hide Thumbnails skips on-canvas thumbnails and evaluates only the selected node's chain, keeping huge graphs responsive.

Import & export

Embedded recipes
Turn on Embed Recipe to store a privacy-sanitized copy of the whole graph inside an exported PNG, WebP, JPEG, or TIFF. Drop it back onto ArcBrush to reopen the project.
6 export formats
PNG, JPEG, BMP, WebP, TIFF, and TGA, in both single-image and batch export with quality control.
Sprite sheet export
Pack all batch frames into one sprite sheet PNG with a TexturePacker-compatible JSON manifest.
Package as .zip
Bundle a project and every file it references into a single shareable archive that opens with no missing-file errors.
Collect Files
Copy all referenced assets into a folder beside your .arcb file, so projects move with no broken links.
Quick export
Ctrl+Shift+E exports the selected nodes; Export All runs every export node in the graph at once.
Relative export paths
Type export/sprite.png and it resolves relative to your .arcb file, with directories created automatically.
Relative file paths
Image In, SVG Import, and Export nodes accept relative paths like assets/logo.png, keeping projects portable.
Drag-and-drop
Drop image files onto the canvas to create Image In nodes.
Clipboard paste
Ctrl+V pastes clipboard images straight in as new Image In nodes.
SVG import
Load vector graphics at any resolution with resolution-independent rasterization via ThorVG.
File watching
Toggle Watch File on Image In or SVG Import and the node reloads when the source changes on disk. Edit elsewhere, see it live.

Workspace & interface

Customizable interface
Dock, tab, or pop out any panel into its own window for multi-monitor work. Save workspace presets, or Lock Layout once it feels right.
Auto-save
Saves automatically at regular intervals, with crash recovery restoring your last state on relaunch.
Undo/redo
Full undo stack for every operation: nodes, parameters, connections, and groups. Ctrl+Z / Ctrl+Y.
Favorites
Star any node to pin it atop the Node Library and Add Node menu, one click away no matter the category.
Keyboard shortcuts
Standard shortcuts for everything: save, undo, delete, F5 to re-evaluate, Tab to add a node.
6 color themes
Violet, Emerald, Ocean, Rose, Amber, and Graphite. Pick the UI tone that suits your eye.

AI workflow

Parallel AI generation
Run multiple AI nodes at once: generate, edit, and remove a background in parallel, no waiting in line.
Generation log
Track every AI generation with timestamps, prompts, and per-call costs, plus session and lifetime totals.

Download

Download ArcBrush.

Free to use. No account required for the editor. All 83 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.

Download for Windows
7.0 MB installer
Windows 10/11
Download for macOS
12.4 MB DMG
macOS 12+ · Apple Silicon
Download for Linux
11.5 MB AppImage
Ubuntu 22.04+ / glibc 2.35+ · x86_64

See what’s new in the latest release.