SVG to PNG

Nothing you choose here leaves your browser. An SVG is a drawing rather than a picture — it has no pixels until something decides how large to make it — so this page reads the size out of the file and lets you choose, instead of quietly picking one.

…or drop files anywhere on this page.

The one to pick unless you have a reason not to.

PNG is lossless and keeps the transparency an SVG almost always has, so a logo exported this way drops onto any background cleanly. It is the sensible default for anything with text, sharp edges or flat colour — which is most drawings.

The size is the whole problem, and nothing else mentions it

An SVG describes shapes, not pixels. A great many of them — most icon sets, most exports from drawing programs — carry only a viewBox and no width or height at all. When a browser is asked to draw one of those it uses 300 × 150, which is the default size for any picture that does not state one. It is not in your file and it has nothing to do with your drawing.

So a converter that renders at the “natural” size hands back a 300 × 150 image of a drawing that never had a size, and says nothing about it. This page reads the viewBox, shows you what it found and where it found it, and lets you scale up from there. Vector artwork scales without loss, so asking for four times the size costs you nothing but file size.

What it will not do

It will not turn a photograph into an SVG. That is tracing — an approximation that invents paths which were never in the picture — and it is a different operation with a different name. Wrapping a bitmap inside an <svg> tag would produce a file with the right extension and none of the properties anybody wants from a vector, so that is not offered either.

It will not convert an SVG containing a <foreignObject>, which holds HTML rather than drawing instructions. A browser draws those and then refuses to let the page read the result back — a security rule rather than a bug, and one nothing here can work around. Such a file is refused with that reason rather than failing halfway.

Anything the drawing loads from elsewhere on the web is not fetched, because nothing here makes a network request. Fonts are drawn with whatever this machine has, so a drawing whose text has not been converted to paths can look different on another computer. Scripts inside the file are never run.

Where to go next