Physical string art stretches a single dark thread between nails on a circular frame until the overlaps form a portrait. The generator solves the same puzzle digitally. It converts the photo to a darkness map, then repeatedly asks: from the nail the thread is on now, which chord across the circle would cover the most remaining darkness? It draws that chord, subtracts its contribution, and continues from the new nail.
No single line means anything. The image emerges from accumulation, which is why the result reads as a drawing from across the room and as an abstract web up close.
Getting a strong portrait
The solver only has straight, semi-transparent lines to work with, so contrast is everything:
- Square-crop to the face before uploading. The circle inscribed in your photo is the whole canvas.
- Prefer directional lighting. A face lit from one side gives the algorithm real darkness to chase.
- Busy backgrounds compete with the subject; plain or blown-out backgrounds vanish on the board.
Nails around 220 and 2000 to 3000 thread passes render most portraits. Thread Opacity is the exposure control: lower it if features clog into black, raise it for a denser, darker image.
Dark board, light thread
Thread and board colors are free. When the thread is lighter than the board, the solver automatically inverts its target and chases brightness instead of darkness, so white thread on a near-black board produces the classic gallery look. The photo’s highlights, not its shadows, become the drawing.
Building it for real
The nail sequence export turns the render into a plan. It is a plain text file: the nail count, then one nail number per line in the order the thread visits them, clockwise from the top. The hint under Thread Passes estimates the total thread length as a multiple of the frame diameter, so a 60cm ring at 480 diameters needs roughly 290m of thread. Wrap without cutting; the whole portrait is one piece of string.