FreeToGenerate.com

An SVG with only a viewBox has no size of its own, which is why so many converters hand back a 150 pixel square.

It is read in your browser. Nothing is uploaded.

What this file says its size is

Rendered size
150 × 150 · it has a viewBox but no width or height, so it has no size of its own and a browser falls back to the 300 by 150 default box
Aspect ratio
1.000

PNG to export

Scale

What will not survive the conversion

Nothing here needs anything from outside the file.

Also available in: Español · Português · Français · العربية

SVG to PNG converter

Convert an SVG to a PNG at whatever size you need, and see what the file will lose before you download it.

What is an SVG to PNG converter?

An SVG is a drawing described as instructions: lines, curves, fills and text, with no pixels anywhere in the file. A PNG is a grid of pixels. Converting means picking a size and asking a renderer to draw the instructions at that size, which is why the same SVG can produce a crisp 32 pixel favicon and a crisp 4096 pixel banner from one file.

That also means the size is a decision, not a property you are reading off the file. Some SVGs state a size, many do not, and what happens in the second case is the difference between a converter that works and one that quietly disappoints. This tool shows you which case you are in before you convert.

Everything happens in your browser. The file is read locally, the drawing is rasterised by the same engine that renders SVGs on any web page, and the PNG is produced with a canvas. Nothing is uploaded, so there is no size limit imposed by an upload and no copy of your artwork on anyone's server.

How to use it

  1. Choose an SVG file. It is read in your browser rather than sent anywhere. The panel underneath immediately reports the size the file asks for, and says which rule produced that number, since an SVG can state a size directly, imply only a shape, or say nothing at all.
  2. Set the size you actually want. Type a width or a height, or use the scale buttons for two, four or eight times the file's own size. The aspect ratio is kept unless you turn that off. Because the target size is written into the drawing before it is rasterised, an eight times export is genuinely eight times the detail rather than a small image enlarged.
  3. Read what will not survive, then download. The panel lists anything in the file that a browser refuses to load when an SVG is used as an image, and any fonts the file expects to find on your machine. If that list is empty, the PNG will match what you see in a vector editor.

Why so many converters give you a 150 pixel square

This is the single most common complaint about SVG conversion, and it is not a bug in the converters. The SVG specification distinguishes two things that sound the same. An intrinsic aspect ratio is the shape of the drawing, and a viewBox gives you one. An intrinsic size is an actual measurement in pixels, and only absolute width and height attributes give you that.

So a file beginning with a viewBox of 0 0 1024 1024 and no width or height has a known shape and no known size. Asked to render it with nothing else to go on, a browser falls back to the default object size that CSS specifies for replaced content, which is 300 by 150 pixels, and fits the shape inside it. A square drawing becomes 150 by 150. A four to one banner becomes 300 by 75. The artwork was never 150 pixels of anything, and the author very likely had 1024 in mind, but nothing in the file said so.

Icon sets are where this bites hardest, because stripping width and height is a deliberate convention there: it lets the icon take its size from CSS wherever it is used. That is exactly right for a web page and exactly wrong for a converter with no CSS to consult. The tool names the rule that applied to your file, so a small default is something you decide about rather than something you discover afterwards.

One consequence worth knowing: setting a width and height on an SVG that has no viewBox crops the drawing instead of scaling it, because there is no coordinate system to map onto the new box. When your file is in that state, this tool adds a viewBox derived from the size the file was already being rendered at, so enlarging scales the artwork as you would expect.

What a PNG cannot bring with it

When an SVG is loaded through an image element, the specification puts it into a restricted processing mode. Scripts do not run and external references are not resolved, and that applies in every browser because it is what the standard requires rather than a policy any one vendor chose. The reason is straightforward: an image should not be able to make network requests or execute code just by being displayed.

In practice that means a handful of things silently vanish. An image element inside the SVG pointing at a photograph elsewhere renders as nothing. A stylesheet pulled in with an import rule never arrives, so everything it styled falls back to defaults. A web font declared with a remote source is not fetched. A shape reused from another SVG file does not appear. None of this raises an error anywhere, which is why the tool looks for these before you convert and lists what it finds.

Fonts deserve their own warning because they fail differently. A font named in the file but not loaded from anywhere is looked up on the machine doing the rendering, which is yours. If you have it, the text is perfect. If you do not, the browser substitutes something else and the letters change width, so the line breaks move and the layout shifts. Converting text to paths in your vector editor before exporting removes the question entirely, at the cost of the text no longer being text.

Two smaller limits. Anything inside a foreignObject element is HTML rather than SVG, and it does not render in this mode. And PNG has an alpha channel, so transparent areas stay transparent rather than becoming white, which is usually what you want but is worth knowing if you are placing the result on a dark background.

Why is it free?

Because your computer does the work. The file never leaves the page: it is read locally, rasterised by your browser's own rendering engine, and encoded to PNG by a canvas. There is no upload, no queue, no server paying for bandwidth, and no copy of your artwork anywhere but on your own machine.

So there is no account, no sign-up, no watermark and no size cap beyond what your browser can hold in memory. The engine that reads the file's dimensions and finds what it will lose sits in the repository beside the page, along with 122 checks that verify it against the SVG and CSS specifications.