Image to SVG
Drop in any image and watch it redrawn as vector line art. The first converter renders classic engraving-style hatching and cross-hatching — darker tones pile on more crossed lines.
From pixels to strokes
Raster images store tone as brightness per pixel. To redraw that tone with nothing but lines, we borrow a trick that engravers and pen-and-ink illustrators have used for centuries: hatching. Lay down parallel strokes where the picture is dark, leave the paper bare where it's light, and the eye reassembles a continuous gradient from discrete marks.
Everything runs in your browser. The uploaded image is drawn to a canvas, downscaled to a working resolution, and reduced to a single luminance value per pixel. No data ever leaves the page.
Threshold layers & cross-hatching
Tone is split into a handful of layers, each with its own darkness threshold. A layer draws a full field of parallel lines across the image, but a stroke survives only where the underlying tone is darker than that layer's threshold — so each set of lines is clipped to the regions dark enough to deserve it.
The darkest pixels fall below every threshold, so they collect strokes from every layer. Because successive layers alternate between the base angle and a rotated cross angle (and shift their phase within the spacing), dark regions build up into dense cross-hatching while light regions keep at most a single sparse set of lines. Spacing, weight, level count, angles, and contrast are all live controls.
Built to grow
Hatching is just the first converter. Each strategy is a pure function from a prepared tone buffer to an SVG document, registered behind a small interface, so the picker in the controls is ready for stippling, flow-field strokes, dithering, and whatever comes next — without touching the rest of the tool.