SVGConverter is an offline, cross-platform desktop application for converting raster images to editable or fidelity-preserving SVG files and rendering SVG files to common raster formats.
The application supports PNG, JPEG, WebP, BMP, TIFF, and SVG. Raster-to-SVG conversion offers Auto, true-vector, and lossless-wrap modes. Auto mode never describes photographic vectorization as lossless: it uses measured rerender quality and falls back to embedding source pixels when necessary.
Install Python 3.11 or newer and uv, then run:
uv sync --all-extras
uv run svgconverter-doctor
uv run svgconverterPotrace is optional and is not distributed with this MIT-licensed application.
Install the GPL Potrace executable separately and place it on PATH to enable
the dedicated monochrome engine. VTracer remains available for color tracing
and as a monochrome fallback.
See native dependency guidance for platform details.
uv run pytest
uv run ruff check .
uv run ruff format --check .
uv run mypy srcPyInstaller is not a cross-compiler. Build on each target operating system:
uv run pyinstaller --clean --noconfirm packaging/svgconverter.specThe resulting one-folder application is written beneath dist/.
- No network APIs, accounts, telemetry, or uploads are used.
- SVG scripts, event handlers, external files, remote URLs, stylesheets, and external fonts are rejected before rendering.
- Outputs are written through destination-local temporary files and committed only after validation.
- Source SVG files are rendered with CairoSVG unsafe mode disabled.
See SECURITY.md and architecture for the full behavior and limitations.