What size should the PNG be?
An SVG’s shapes and text are drawn fresh at whatever size you ask for, so they stay sharp in a PNG of any size (a photo embedded in the SVG does not: it has its own pixels). The PNG then holds exactly that many pixels. This converter starts from the size the SVG itself asks for and lets you pick 1×, 2×, 4× or a width in pixels:
- An SVG with a
widthandheightuses them. Physical units count at the CSS rate of 96 pixels to the inch, so a logo of 50 × 20 mm is 189 × 76 px at 1× and 756 × 302 px at 4×. - An SVG with only a
viewBox, like most icons, uses the viewBox numbers as pixels: a0 0 24 24icon is 24 × 24 at 1× and 96 × 96 at 4×. Browsers can size such files differently: in a Chromium test of ours, they were fitted inside 300 × 150, so a square icon became 150 × 150. - An SVG with neither gets the 300 × 150 size browsers use for images with no size of their own.
The file list shows each SVG’s size and the pixel size it will become before you convert. For an installable web app, web.dev says Chromium needs at least a 192 × 192 and a 512 × 512 icon; for a print or a slide, pick the width you need.
Transparent background, or JPG with a colour
PNG and WebP keep the SVG’s transparency: wherever the drawing has nothing, the image is see-through. JPG has no transparency, and the HTML standard tells browsers to put an image “onto an opaque black background” when the format has none, which is why some converters give a black JPG. Here, JPG always gets the background colour you choose, white unless you change it. PNG and WebP can have a colour too.
Why is the text in the wrong font, or an image missing?
Browsers draw an SVG used as an image with strict limits. MDN lists them: “JavaScript is disabled”, and “External resources (e.g., images, stylesheets) cannot be loaded, though they can be used if inlined through data: URLs.” So:
- Fonts loaded from the web (an
@importor a linked font file) are not fetched, and the text uses a font installed on your device. Fonts embedded in the SVG as data work. For an exact match, convert the text to outlines in your design app before exporting the SVG. - Images linked from outside the SVG are left out, and the converter says so; embedded images are kept. Chrome would otherwise draw its broken-image icon in their place, so this converter removes those links before drawing.
- Scripts inside the SVG never run. In our test an SVG with a script that tried to change its colour and contact another website did neither.
The converter warns about web fonts, outside images and embedded HTML (foreignObject) for each file. Embedded HTML drew correctly in our Chrome test; if a browser refuses to save such an SVG, the converter says so.
What we tested
In Chrome on a desktop PC, with our own test files:
| SVG | Setting | Result |
|---|---|---|
| Icon, viewBox 0 0 24 24 only | PNG, 1× / 4× | 24 × 24 (515 bytes) / 96 × 96 (1.9 KB) |
| Logo, 50 × 20 mm | PNG, 1× / 4× / JPG 2,000 wide | 189 × 76 (3.7 KB) / 756 × 302 (19.0 KB) / 2,000 × 800 (53.5 KB) |
| Detailed illustration, A4 (210 × 297 mm), 2,000 curves, 215 KB | PNG 1× / PNG 4× / JPG 2,000 wide | 794 × 1,123 (2.1 MB) / 3,175 × 4,490 (12.9 MB) / 2,000 × 2,829 (3.0 MB) |
| No size at all | PNG, 1× | 300 × 150 |
| An SVG with a missing closing tag | PNG | Refused, with a message to check it for an XML error |
Nine files converted in about half a second. The detailed illustration shows when PNG is the wrong choice: at 2,000 pixels wide it was 7.3 MB as PNG, 3.0 MB as JPG and 2.6 MB as WebP. Each image is limited to 50,000,000 pixels and 32,767 pixels a side.
Other ways to convert SVG to PNG
- Inkscape (free, Windows, Mac and Linux):
inkscape --export-type=png --export-width=1024 file.svg. Without a width it exports at 96 dpi, the same 96 pixels to the inch as 1× here;--export-widthoverrides the dpi. The old-eoption from Inkscape 0.x no longer works. - rsvg-convert (librsvg, Linux and Mac):
rsvg-convert --zoom=2 file.svg > file.png; transparent by default, or add--background-color=white. - Cricut and Silhouette: Cricut Design Space takes SVG directly (up to 5,000 paths); Silhouette Studio opens SVG only from the Designer Edition up.
Going the other way, from PNG to SVG, is a different job: it needs tracing, which turns pixels into shapes. Converting the format alone does not do it.
Why nothing is uploaded
Your browser reads each SVG and draws it on this page; the files never leave your device. While we converted our test files, the only requests that left the page went to Google Analytics, for the page-view statistics described in the privacy policy. None was made for the web font, the outside image or the script in our test SVGs. You can check: open your browser’s developer tools on the Network tab while converting.