PixelToPath converts raster images (PNG, JPG, BMP, WebP) into high-quality SVG vector graphics using VTracer, an open-source Rust-based tracer that handles both color and black-and-white images natively.
A packaged version of PixelToPath is available in the Releases section of the GitHub repository. This version requires no Python installation or prior configuration.
- Go to the Releases page;
- Download the file matching the latest stable version for your system:
Setup_PixelToPath_vX.X.X.exefor Windows (installer, includes theptpCLI)PixelToPath-vX.X.X_Windows.zipfor Windows (portable)PixelToPath-vX.X.X_Linux.tar.gzfor Linux (includes theptpCLI)
- Launch PixelToPath;
- Drag and drop an image onto the import area;
- Pick a preset (B&W, Poster, Photo) or fine-tune the parameters — save your own presets at any time;
- The SVG preview updates automatically, with zoom, pan and a before/after comparison slider;
- Click Télécharger le SVG to export the file.
- VTracer is bundled inside the executable — no additional installation required.
- If your antivirus blocks the application, you can verify the file integrity or add it to your trusted list (executables built with PyInstaller are sometimes incorrectly flagged as suspicious).
- Supported formats: PNG, JPG, BMP, WebP
- Live preview: SVG recomputes automatically on every parameter change, on a transparency checkerboard
- Zoom & pan: wheel zoom anchored at the cursor, drag to pan, Fit / 1:1 buttons, vector re-render at display resolution
- Before/after comparison: draggable split slider between the original image and the vector result
- Dark & light themes: toggle in the side rail, remembered across sessions
- Custom presets (free): save, rename, delete your own parameter sets alongside the built-ins
- Focus mode: hides the navigation rail and the import area to focus on the result (press
Escto exit) - Pro (license): batch conversion, hot folder watching, and the
ptpcommand line — see below
The Pro license is purchased on Lemon Squeezy; the key arrives by e-mail and activates the app on your machine. Image processing itself is 100% offline — only the license check talks to the server (revalidated weekly, 30-day offline grace).
- Batch conversion: queue whole folders (drag & drop, recursive), per-file status and progress, automatic collision-free naming (
photo.svg,photo-2.svg…) - Hot folder: watch a directory — every image dropped in is converted to SVG automatically (files are only picked up once fully written)
- Command line
ptp: scriptable conversions, see below
The ptp executable ships with the installer (Windows) and the Linux archive:
ptp convert drawing.png -o svg-out/ --preset bw
ptp convert scans/*.png -o svg-out/ --preset photo --set filter_speckle=8
ptp convert logo.png -o svg-out/ --preset bw --invert
ptp license activate PASTE-YOUR-KEY
ptp license status--presetaccepts the built-ins (bw,poster,photo) and any custom preset saved in the app;--colormode,--mode,--invertand--set key=valueoverride individual parameters;- without a license,
ptp convertexplains how to upgrade (exit code 2); conversion failures exit 1.
- Python 3.11+
- Create a virtual environment and activate it
python -m venv env
.\env\Scripts\Activate- Install dependencies
pip install vtracer cairosvg customtkinter tkinterdnd2 Pillow numpy- Install GTK DLLs for cairosvg (required on Windows) — place the contents of
bin/gtk-bin/into thebin/gtk-bin/folder of the project.
python app.py # GUI
python cli.py --help # CLI (Pro)- Python 3.11+
- Install system dependencies
sudo apt install python3-tk python3-venv libcairo2-dev- Create a virtual environment and activate it
python3 -m venv env
source env/bin/activate- Install Python dependencies
pip install vtracer cairosvg customtkinter tkinterdnd2 Pillow numpypython3 app.py # GUI
python3 cli.py --help # CLI (Pro)