Skip to content

Repository files navigation

SVGConverter

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.

Setup

Install Python 3.11 or newer and uv, then run:

uv sync --all-extras
uv run svgconverter-doctor
uv run svgconverter

Potrace 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.

Quality checks

uv run pytest
uv run ruff check .
uv run ruff format --check .
uv run mypy src

Packaging

PyInstaller is not a cross-compiler. Build on each target operating system:

uv run pyinstaller --clean --noconfirm packaging/svgconverter.spec

The resulting one-folder application is written beneath dist/.

Safety and privacy

  • 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.

About

No description, website, or topics provided.

Resources

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages