SVG to PNG Converter

Renders SVG files to PNG at their own size or at 512, 1024, 2048 or 4096 pixels on the longest side, with the transparent background kept. Because the source is vector, a larger size is drawn fresh rather than stretched, so it stays sharp. Runs in your browser, nothing is uploaded, five files at a time.

Last updated

Target Format
svg ➔ png
Size
Up to 5 images per batch

How to convert SVG to PNG

01

Pick a size

Choose Original, or the length you want the longest side to be. You can set it before or after adding files; changing it redraws the whole queue.

Tip: For an app or manifest icon, 512 is the size most platforms ask for. For a slide or a document, 2048 is plenty.
02

Drop in up to five SVGs

Drag them onto the panel or tap it to choose. Each one is drawn straight away, so you can see the result in the queue before converting.

Tip: Text needs its font embedded or converted to outlines. A font the SVG only links to is not loaded, and the text falls back to a system font.
03

Process and download

The PNGs download on their own or as one ZIP, named after the SVGs they came from.

Tip: Making a favicon? The favicon generator accepts SVG directly and draws each icon size from the vector.

Why convert SVG to PNG here

Drawn fresh at every size

Choosing 4096 pixels redraws the vector at 4096 pixels rather than enlarging a small image, so curves and text edges stay clean however large you go.

Transparency kept

Anything the SVG does not paint stays transparent in the PNG, with smooth anti-aliased edges, so a logo can be placed on any background afterwards.

Change the size after uploading

The original SVG is kept next to each queued image. Pick a different size and every image is redrawn from its source, not resampled from the previous render.

Scripts never run

The SVG is drawn as an image, which browsers sandbox: any script inside it never runs, and it cannot fetch anything from the internet. That is also why linked fonts and images are not loaded.

Runs in your browser

Rendering and encoding happen on your device. Nothing is uploaded, and the tool keeps working offline once the page has loaded.

Up to 4096 pixels

The longest side tops out at 4096 pixels, which keeps memory use safe on phones and is still enough to print the long side of an A4 page at 300 dots per inch.

Frequently Asked Questions

What size will my PNG be?+
With Original selected, the size the SVG declares in its width and height, or failing that its viewBox, or 1024 pixels if it states neither. With a size selected, the longest side is exactly that many pixels and the other side follows the SVG's own proportions.
Why does the text in my PNG look different?+
The SVG probably names a font it does not contain. When an SVG is drawn as an image, the browser does not download linked fonts, so the text uses a fallback instead. Convert the text to outlines in your design tool, or embed the font, and export the SVG again.
Why is part of my image missing?+
Images the SVG links to from elsewhere, rather than containing, are not loaded, for the same security reason that scripts do not run. Embed the images in the SVG, which most design tools offer when exporting, and convert again.
Will the PNG have a transparent background?+
Yes, wherever the SVG paints nothing. If you need a solid background instead, add a full-size rectangle behind the artwork in the SVG, or convert the PNG to JPG afterwards, which fills transparency with white.
What happens to animation in the SVG?+
The PNG is a single still image of the SVG as it looks when first drawn. CSS and SMIL animations are not played through, so if the opening state is not the one you want, change it in the SVG before converting.
Is my file uploaded?+
No. The SVG is drawn and the PNG encoded inside your browser. You can check in the developer tools: watch the Network tab while you convert, and nothing carrying your file leaves the page.

Format Comparison

Feature SpecificationSVG to PNG conversionAlternative
Made ofPixelsDrawing instructions
Scales up cleanlyNo, so render at the size you needYes, to any size
Accepted by social networks and emailAlmost everywhereOften refused
Can contain scriptsNoYes, which is why many sites block it
File size depends onPixel count and detailComplexity of the drawing

Technical Overview & Specifications

Deep dive into SVG to PNG conversion architecture and processing.

Show Details

Platform Overview

An SVG is a set of drawing instructions rather than a grid of pixels, which is why a logo saved as SVG looks crisp on a phone, a 4K monitor and a billboard alike. It is also why so many places will not take one. Social networks, many email clients, marketplace listings, office documents and app stores generally want a raster image, and some refuse SVG on purpose because it can carry scripts. Converting means choosing a size and drawing the vector at that size, once, into pixels.

Choosing that size is the whole job, so this page puts it first. Original uses the width and height the SVG declares, falling back to its viewBox, and to 1024 pixels if it declares neither. The other options draw it so that the longest side is exactly 512, 1024, 2048 or 4096 pixels, which is where an icon declared at 24 pixels becomes usable. Because the drawing is redone at each size, a 4096 pixel render of a tiny icon is as sharp as the original. Transparent areas stay transparent. You can change the size after uploading, and the queue is redrawn from the original SVGs. Everything runs in your browser.

How an SVG becomes pixels

Browsers can draw an SVG in two ways: inline in a page, where it is part of the document and can run scripts, or as an image, where it is treated like a picture and sandboxed. This tool uses the second. The file is loaded into an image element, decoded, and drawn onto a canvas sized to the output you chose, so the browser's own vector renderer does the drawing and the result matches what the browser would show. The canvas is then encoded as PNG. This happens on the main thread rather than in the background worker the other converters use, because the worker's decoder, createImageBitmap, cannot read SVG at all.

The sizing logic is short. The width and height come from the decoded image, or from the markup and then the viewBox if the image reports none. A scale factor is worked out so that the longest side matches the size you picked, and the result is limited to 4096 pixels on the longest side so that an SVG declaring an absurd size cannot ask for an enormous canvas. Each SVG is kept alongside its rendering, so changing the size later redraws from the vector rather than resampling pixels. From there the PNG goes through the same validation, queue and ZIP packaging as every other image on the site.