Raster in, editable SVG out.
Shapeform turns PNGs, JPEGs, and screenshots into structured, editable SVGs — real stroke paths, fitted gradients, and coherent color groups instead of a flat pile of filled slivers. It runs entirely on your machine: no account, no cloud upload, no telemetry. Apache-2.0 licensed.
![]() |
|
| Raster source Astral wayfinding illustration |
Shapeform output Structured SVG with editable paths and color groups |
The SVG on the right was generated from the PNG on the left with Shapeform's auto preset. Open it in Figma or Illustrator: it is vector structure, not a flattened preview.
Most raster-to-vector tools can make an image look vectorized. Shapeform is built to make the result practical to work with afterwards: edit a thin line as a real stroke, recolor a whole logo from a small palette, or keep smooth shading as a genuine SVG gradient.
- Editable paths. Fine lines remain real strokes instead of becoming tiny filled shapes.
- Better color control. Related colors stay grouped, so a whole mark can be recolored quickly.
- Gradients that stay gradients. Smooth shading remains usable SVG structure where possible.
- A local studio. Inspect the result, make adjustments, and export SVG, React, CSS, PNG, PDF, or an icon pack.
Shapeform is a source tree (no public package index yet). Clone it, then use uv to sync dependencies:
uv sync
uv run python -m engine input.png -o out.svg --preset auto
./scripts/run-web.sh
# then open http://127.0.0.1:8787/
Open http://127.0.0.1:8787 to trace, inspect, and export locally.
Pick the pipeline profile that matches your input:
| Preset | Best for |
|---|---|
logo |
Flat logos, icons, marks — few colors, crisp edges. |
illustration |
Multi-color art and line work (the default). |
photo |
Photographic / continuous-tone sources. |
auto |
Inspects the image and picks one of the above for you. |
Common flags: -o/--output, --preset, --colors N to cap the palette. Run
shapeform --help for the full list.
The core engine works without ML dependencies. To enable local image enhancement and the experimental refine pass:
uv sync --group ml
See ML setup for the optional dependencies and current support.
Shapeform is tested against a reproducible image corpus. The benchmark documentation explains the methodology and links to the generated reports.
It is currently source-first: install from this repository, and expect photographic inputs to need more care than logos or flat illustrations. Packaging and release notes live in PACKAGING.md.
- Contribution setup, tests, and conventions: CONTRIBUTING.md.
- Packaging and release flow: PACKAGING.md.
- Licensed under Apache-2.0.
