Trace a local JPEG into genuine SVG vector paths with color, detail, smoothing and noise controls.
Drag and drop one or more files, or choose files from your device.
Supported: .jpg, .jpeg · up to 10 sources · 10 MiB per source. Existing codec, duration, pixel and memory limits apply.
Existing raster tracing, not lossless vector conversion. JPEGs retain the existing 10 MiB / 16 MP and tracing limits.
Enter your values locally; no inputs are uploaded.
Check validation feedback before reviewing the browser-generated result.
Review the explanation, copy supported outputs or reset the workspace.
Yes. ImageTracerJS traces the decoded pixels into SVG paths. The output does not embed the original JPEG as an image or data URL.
ImageTracerJS creates vector paths, never an embedded JPEG. Best for logos and flat illustrations; photographs lose detail and may produce larger files. JPEG ≤10 MiB and 16 million decoded pixels, tracing ≤1 million pixels. Output retains decoded dimensions with a working-pixel viewBox. SVG ≤4 MB and 100,000 paths; only validated svg/g/path content is previewed through a Blob image. A disposable Worker has a 45-second timeout. Metadata/orientation follows browser decoding; export contains no source EXIF metadata.
Processing takes place locally in browser memory. Inputs are not sent to a processing service, persisted by this tool or included in analytics. Ordinary page requests may still be logged. Clipboard and downloads require explicit actions.
Yes. ImageTracerJS traces the decoded pixels into SVG paths. The output does not embed the original JPEG as an image or data URL.
Logos and flat illustrations generally trace more cleanly than photographs. JPEG compression artifacts and gradients can create many paths; tracing is an approximation rather than restoration of original vector artwork.
More colors and finer detail usually retain more shapes and increase file size. Smoothing and noise filtering can simplify artifacts and small regions but may remove meaningful details. Review both previews.
JPEG input is limited to 10 MiB and 16 million decoded pixels. Tracing scales to at most one million working pixels, with a 45-second Worker timeout. SVG output is limited to 4 MB and 100,000 paths.
The SVG width and height retain browser-decoded dimensions. Its viewBox uses the working-pixel dimensions after bounded scaling, so the traced geometry scales back to the displayed output size. Browser decoding determines image orientation.
Generated output is validated against an svg/g/path element and attribute allowlist, rejecting embedded images, event handlers, external references and declarations. Only the validated SVG is previewed as a local Blob image and offered for download.