To convert an SVG to PNG without uploading it: drop the file below, pick a scale factor (1x–10x), and click Convert — a 512×512 logo at 4x downloads as a 2048×2048 PNG. Because SVG is vector art, the browser re-renders every curve at the target resolution, so a 4x export is genuinely sharper than a 1x export stretched in an image editor. Transparency is preserved by default. The pipeline is a port of the open-source vincerubinetti/svg-to-png rasterizer (MIT) running on your machine — no file ever touches a server.

Convert SVG Files

🖼️

Click or drag SVG files here (multiple at once)

Advertisement

What One 512px SVG Exports To

ScaleOutput PNGPixel CountRaw RGBA Size (before compression)Typical Use
1x512 × 512262,1441 MiB (1,048,576 B)Web display, PWA icon
2x1024 × 10241,048,5764 MiBRetina @2x assets
4x2048 × 20484,194,30416 MiB (16,777,216 B)Google Play 512+ icon masters, print
8x4096 × 409616,777,21664 MiBLarge-format print, banners

Raw size = width × height × 4 bytes (RGBA). The PNG you download is far smaller once compressed — a flat logo at 2048×2048 typically lands in the tens-to-hundreds of KB range. The raw figure is the honest ceiling for what your device must hold in memory.

SVG Length Units → Pixels (CSS 96dpi Reference)

Unit in width=/height=1 Unit in PixelsExample
px (or no unit)1width="300" → 300 px
in96width="2in" → 192 px
pc (pica)16width="12pc" → 192 px
pt (point)1.3333width="12pt" → 16 px
cm37.795width="5cm" → 189 px
mm3.7795width="50mm" → 189 px
q (quarter-mm)0.9449width="200q" → 189 px

Browsers rasterize SVG at the CSS reference resolution of 96 pixels per inch, per the W3C CSS Values spec. That's why 1pt = 96/72 = 1.3333px. Exporting at 4x is the vector equivalent of asking for 384 dpi — same artwork, four times the samples per curve.

How SVG to PNG Rasterization Works

An SVG is a set of drawing instructions — paths, fills, gradients — not a grid of pixels. Converting to PNG means asking a rendering engine to execute those instructions onto a pixel grid of your chosen size. This tool uses the highest-quality rendering engine you own: your browser. It parses the SVG (tolerantly, the way a browser does), infers the native size from the width/height attributes or the viewBox, loads the SVG into an image element, and draws it onto a canvas scaled by your chosen factor.

Size inference, exactly as the browser does it

If both width and height are present (with or without units), those dimensions are used, converted per the table above. If only one is present, the other is derived from the viewBox's aspect ratio. If neither is present but a viewBox is, the viewBox's user-unit size is the output size. Files with none of the above render at a 512×512 fallback — the same behavior as the reference implementation.

A worked example

Take a badge SVG marked viewBox="0 0 300 200" with no width/height. At 1x it exports 300×200 = 60,000 pixels. At 3x the canvas is 900×600 = 540,000 pixels — nine times the pixels, because pixel count scales with the square of the linear factor (3² = 9). A 512×512 icon at 4x hits 2048×2048 = 4,194,304 pixels; its raw RGBA footprint is exactly 16 MiB (4,194,304 × 4 bytes = 16,777,216), though the compressed PNG of a simple logo will be a fraction of that.

When you actually need PNG instead of SVG

Privacy, concretely

This page loads once; after that, conversion is pure local computation through the browser's FileReader, DOMParser, and canvas APIs. Open the network tab while converting — zero requests. Your logo files, icon sets, and unreleased brand artwork never leave the device, which is exactly what you want for pre-launch assets.

Frequently Asked Questions

How do I convert SVG to PNG at a higher resolution?

Load the SVG, pick a scale factor, and export. The converter multiplies the SVG's native size by your factor before rasterizing: a 512x512 icon at 4x becomes a 2048x2048 PNG (4,194,304 pixels). Because SVG is vector art, the browser re-renders every curve at the target size, so edges stay sharp rather than getting stretched the way an upscaled PNG would.

Does the PNG keep the transparent background of my SVG?

Yes, transparency is the default: the canvas starts empty and only your artwork is drawn. If a tool or platform needs a solid background (some slide decks and image hosts compositing over white), switch Background from Transparent to White and the converter fills the canvas before drawing.

What happens if my SVG has no width or height attributes?

The converter reads the viewBox instead and renders at the viewBox's user-unit size, so an SVG with only viewBox="0 0 300 200" exports as 300x200 at 1x. If only a width is given, height is derived from the viewBox aspect ratio, matching how browsers infer the missing dimension. Files with neither get a 512x512 fallback.

Why do SVG text and fonts sometimes render differently?

SVG text renders with fonts available on your machine unless the file embeds them. If the SVG specifies a font you don't have installed, the browser substitutes one and spacing can shift. Converters that run server-side hit the same problem — they substitute their fonts, not yours. For pixel-identical output everywhere, convert text to outlines in a vector editor first.

Is converting SVG to PNG here private?

Yes. The rasterization uses your browser's own DOMParser and canvas APIs — the same engine that displays SVGs on web pages — so files are read from disk into memory and handed back as downloads. Nothing is uploaded, there is no server-side copy, and the page keeps working if you go offline after it loads.

PNG or SVG — which should I ship for favicons and app icons?

Browsers want PNG: Apple touch icons must be PNG (180x180), most favicon setups pair a 32x32 PNG with an .ico, and app stores require raster sizes like 512x512 for Play. SVG wins for simple scalable marks on the web itself. The usual workflow is one master SVG exported to PNG at each required size — 16, 32, 180, 192, 512.

Advertisement