utilime

Your file never leaves this tab.

Convert SVG to PNG

Rasterise an SVG at whatever pixel width you need.

Drop a file hereor click to choose · it stays on your device

How it works

An SVG is not a picture. It is an XML document of instructions: move to this point, draw this curve, fill it with this gradient, transform the result by this matrix. A renderer executes those instructions at whatever size it is asked for. That is why an SVG has no resolution to read off it, and why this tool asks for an output width instead of offering one.

The number in the file's own width attribute, if it has one, is a default suggestion for a browser laying out a page; it is not a limit and it is not a measurement of detail. Resolution is a decision made at the moment of export, and here you make it.

Rasterising only runs one way

Rasterising is a one-way step. The PNG that comes out is a fixed grid of pixels with the curves resolved into anti-aliased edges, and enlarging it afterwards can only interpolate between pixels that already exist. The shapes cannot be re-derived.

Export at the largest size you will actually need rather than the size you need today, and if the image is destined for a high-density display, export at twice its layout size. Keep the SVG. It remains the master file, and if you need a different size later, come back and render again rather than scaling the PNG.

No fonts, no remote fetches

The renderer makes no network requests, which is both the privacy guarantee and a real limitation. An SVG that points at a webfont, a remote stylesheet, or an image hosted elsewhere will render without them, because fetching them would mean sending part of your document to a third party.

The consequence that catches people out is text: this build carries no font files at all, so any live text element is skipped rather than substituted with something approximate. If your SVG contains type, convert it to outlines or paths in the editor that produced it (Illustrator's Create Outlines, Figma's Outline Stroke and flatten, Inkscape's Path to Object) and it will render exactly.

Shapes, paths, gradients, clips, masks, filters and images embedded in the file as data URIs all render normally, and the result panel tells you when text or a remote reference was dropped so you are not left comparing files to work out what changed.

When pixels are actually required

Convert when something in your pipeline needs pixels. Social preview images are the common case: og:image and Twitter card crawlers will not render an SVG, so a vector logo has to be rasterised to be seen in a link preview. Email clients largely ignore SVG too, as do many avatar uploaders, app-store asset slots and print workflows, and some services reject SVG on principle because it is a document format that can carry script.

Everywhere else, keep the vector. A logo delivered as an SVG stays sharp at every zoom level, is usually a fraction of the size of a 1024 px PNG of the same mark, and can be recoloured from CSS. A PNG does none of those three things at any width.

Questions

Is my file uploaded to a server?

No. Open your browser's developer tools, switch to the Network tab, and convert a file. You will see the renderer's WebAssembly module download once, and no request carrying your SVG. Nothing is sent. This also means an SVG referencing a remote font or image is rendered without it, because fetching it would be exactly the outbound request we are promising not to make.

Why is the text missing from my PNG?

The renderer ships with no fonts, so a live text element has nothing to draw with and is skipped. Substituting whatever font happened to be available would silently change your artwork, which is worse. Open the SVG in the editor that made it and convert the type to outlines (Create Outlines in Illustrator, Path to Object in Inkscape), then convert again. The result note flags any file that contained text.

What width should I choose?

Match the largest place the image will appear, then double it if that place is a high-density screen. 1200 px suits an og:image, 512 px an app icon, 32 or 48 px a favicon source. The height follows from the SVG's aspect ratio and is shown with the result. Rendering above roughly 16 million pixels in total is refused rather than attempted, because the buffer no longer fits in a mobile browser's memory.

Why is the PNG bigger than the SVG?

Usually because it is. A flat logo is a few hundred bytes of path data as an SVG and a megapixel of stored pixels as a PNG, so a tenfold increase is normal and not a fault of the encoder. The result panel shows the delta. If nothing in your pipeline actually requires raster, the honest answer is to keep the SVG.