unpainting
Paint Lab
GitHub repoChoose a complete stroke-budget painting, carry on a painting, or try a technique. Live runs its full recorded strokes through the simulator here. Jump to a thumbnail to continue from that sheet state, or choose Carry on painting. Replay shows the original saved frames without fades, with a labelled stroke path.
Drag to paint. Pinch to zoom, use two fingers to pan. Fit resets the view.
A stylus controls pressure. The round brush has a round cursor; the flat brush shows its width and direction.
Mouse and finger pressure is fixed by default. Turn off “Fixed mouse / finger pressure” for a gentle response to drawing speed. Hold Alt or the stylus barrel button for clean water.
R round · F flat · W water · I ink · P pencil · D dryer · Shift+D dry layer. [ / ] resize. Space pauses drying. Escape exits focus. Cmd/Ctrl+Z undoes; add Shift to redo.
Watercolor, ink and pencil on simulated paper. Pick a picture to watch it painted, or drag on the paper to begin.
Recording · original saved frames, stepped without fades. Overlay: stroke path.
A little paint. A little water.
What will you make?
Or start a mark anywhere on the paper.Live study · jump in anywhere
Quick start · more paintings & techniques
About the paper & brushes
Water spreads, soaks into the paper and dries. Pigment settles into its texture; dry washes remain transparent layers.
Use a loaded brush for flowing marks, less water for dry brush. The brush reloads with each stroke.
The simulation draws on Curtis et al. (1997), Strassmann (1986) and Kim et al. The physics, the painter and this page are in sabj/unpainting.
Everything runs in this browser: no picture, stroke or painting leaves it. Autosave keeps your sheet in this browser only.