Skip to content
ImageRuns in your browser

PNG to SVG Converter

Convert PNG to SVG by wrapping the pixels in a scalable container — in your browser, not a vector trace.

Upload
Batch upload supported · 25 MB max
Privacy
Nothing is uploaded
Cost
Free · no sign-up · no watermark

Loading tool…

The tool is loading its code on your device. This happens once and is cached for later visits.

Processed entirely on your device

Your file is read, transformed and re-encoded inside this browser tab using JavaScript. There is no upload endpoint — nothing leaves your machine, nothing is stored, and the result is created as a local object URL that disappears when you close the page.

Overview

About the PNG to SVG Converter

Convert PNG to SVG free online by embedding the raster in a clean SVG document with correct dimensions and viewBox. Honest about what it does — no fake tracing.

"PNG to SVG" searches usually end at tools that silently embed the raster and call it vectorisation, or at tracers that turn a photograph into fifty megabytes of wobbly paths. This PNG to SVG converter does the first one and admits it, because the embedded container is genuinely what most workflows need — and an honest PNG to SVG conversion beats a fake trace every time.

What a PNG to SVG conversion gives you

A well-formed SVG document: an XML declaration, the svg root carrying both the SVG and XLink namespaces, width and height in pixels, a viewBox that matches them, and a single image element holding the raster as a Base64 data URL. Browsers, Figma, Illustrator, Inkscape and every SVG-in-HTML pipeline accept it. It is the smallest honest PNG to SVG output possible: one image element, correctly sized, inside a valid document.

That image element carries both an xlink:href and a plain href pointing at the same data. Modern renderers read the plain attribute; older ones, including a long tail of design-tool importers, still look for the namespaced one. Emitting both costs a few hundred bytes and removes an entire class of "the SVG opens blank" reports, which is a trade worth making every time.

There are no layers, no groups, no defs block and no metadata — a document that small is easy to inspect, easy to diff between versions, and hard for an importer to misread.

What a PNG to SVG conversion does not give you

Editable paths. The pixels inside are untouched, so zooming in past 100% shows the same raster detail as the source PNG. True tracing — fitting Bézier outlines to shapes — is a research-grade problem that only works on flat, high-contrast artwork, and pretending otherwise produces SVGs that pixelate exactly like the PNG they came from. No PNG to SVG wrapper, however well formed, can change what the pixels contain.

When the PNG to SVG container is the right answer

  • Icon and sprite systems that ingest SVG only.
  • Design documents where the asset must scale with the page rather than at a fixed pixel size.
  • Pipelines and CMSes whose upload filter whitelists image/svg+xml.

When a real PNG to SVG trace is needed

Logos and line art that must stay crisp at any zoom should be redrawn in a vector editor, or traced there with manual cleanup. A genuine PNG to SVG trace — editable outlines fitted to flat artwork — is that editor's job, and no browser tool replaces the step.

Editing the PNG to SVG output afterwards

The preserveAspectRatio setting on the embedded image is none, which changes nothing inside the PNG to SVG file as delivered because the outer dimensions and the viewBox agree. It matters the moment someone edits the SVG by hand: change width and height without changing viewBox and the raster stretches to fill the new box instead of letterboxing inside it. For a hand-edit that is usually the behaviour wanted, and it is worth knowing before you make one.

The pixels themselves are untouched by this tool, so if the source is soft at 100% the SVG will be soft at 100% too. Wrapping is not sharpening, and no amount of scaling the container adds detail that the raster never held.

What the PNG to SVG results show

Each PNG to SVG output is named after its source with a .svg ending — logo.png becomes logo.svg — and a source with no usable name becomes image.svg. The result row reports the pixel dimensions and both file sizes; the summary strip above the downloads totals the batch and labels the output as an embedded raster rather than letting the word SVG imply something it is not. Up to twenty files convert in one pass, each up to 25 MB, which between them is far more than any icon set needs.

Because the wrapper accepts any raster the browser can decode, and because every image tool on this site retries a failed decode through the WebAssembly HEIF decoder, an iPhone photograph can be wrapped here directly — there is no need to convert it to PNG first.

Batch PNG to SVG conversion, privately

Every PNG to SVG conversion in the batch is measured, wrapped and downloaded inside your tab — up to twenty files per run, each up to 25 MB. Nothing is uploaded: the PNG bytes travel into the SVG as Base64 text on the same machine they started on, which matters when the artwork is unreleased branding, client logos or internal screenshots. A browser-based PNG to SVG wrapper keeps the whole job local — no account, no queue, and no reason for the files ever to touch a server.

Step by step

How to use the PNG to SVG Converter

  1. Drop one or more images onto the upload area — PNG or any other raster format, detected automatically.

  2. Press Convert to SVG — each image is measured and wrapped in a sized SVG document.

  3. Check the result row for the embedded dimensions and the output size.

  4. Download the .svg files; they open in browsers, Figma, Illustrator and Inkscape.

Why use it

Benefits and common use cases

What this tool is good for, and what it deliberately does not try to do.

A real SVG document

The output carries a proper XML declaration, both the SVG and XLink namespaces, width and height in pixels, and a viewBox that matches them exactly — the shape design tools, icon pipelines and HTML image tags expect. It is written across several lines rather than one, so it reads sensibly in an editor.

No pretend vectorisation

True outline tracing is a research-grade problem. Tools that claim instant tracing produce wobbly paths; this tool embeds the pixels and says so plainly instead.

Scales as a container

Because the SVG declares its own coordinate system, the embedded image scales with any layout, sprite system or <image>-friendly pipeline without dimension mismatches. The image element carries `preserveAspectRatio` set to `none`, so a consumer that resizes the outer box without the viewBox stretches the raster rather than letterboxing it.

Questions

Frequently asked questions

Short, honest answers about quality, limits and privacy.

Can I wrap a JPG or WebP instead of a PNG?

Yes. Any image the browser can decode is embedded the same way, with the SVG's width, height and viewBox taken from the real pixel dimensions. The result row reports those dimensions plus both file sizes, so you can see exactly what went in and what came out whatever the source format was.

Does this trace my PNG into vector paths?

No, and no browser tool honestly can in general. Real outline tracing (potrace-class path fitting) works only on flat, high-contrast artwork. This tool embeds the raster in an SVG container and states that clearly rather than producing wobbly fake paths.

Then what is the SVG useful for?

Any pipeline that accepts SVG but not PNG: icon systems, sprite sheets, design tools that want a placed asset with a coordinate system, and documents where the asset must scale with the layout. The container scales losslessly; the pixels inside stay exactly as sharp as the source.

Will the SVG be smaller than the PNG?

No — about a third larger. The image bytes travel inside the SVG as Base64 text, and Base64 spends four characters on every three bytes, so a 400 KB PNG becomes roughly 535 KB before the XML wrapper is even counted. If you need a genuinely small vector, the artwork has to be redrawn or traced in a vector editor.