Free Converter

SVG to PNG Converter

Convert Vector SVG files to high-quality Raster PNG images. Customize output scale and background color easily in your browser.

Drag & Drop SVG here

Supports up to 50MB

Or

About SVG to PNG Conversion

SVG (Scalable Vector Graphics) describes images as a set of geometric primitives — paths, shapes, text, gradients — that scale to any size without loss of quality. PNG stores a single rectangular pixel grid at a fixed resolution. Converting SVG to PNG is a rasterization step: the SVG's drawing instructions are evaluated at a chosen pixel size and the resulting bitmap is encoded as PNG. The output looks crisp at the size you specified but pixelates if scaled up.

This converter renders SVG using the browser's built-in SVG engine. The SVG is loaded into an Image element, drawn onto an HTML5 canvas at the chosen output dimensions, and exported as PNG via canvas.toBlob. Because the browser does the rasterization, complex SVG features — gradients, filters, masks, animations as a static frame — render the same way they would on a real webpage.

The most important decision in SVG-to-PNG conversion is target size. SVG is resolution-independent, so picking a PNG size that matches the actual usage avoids over-provisioning (huge files for thumbnail-sized icons) and under-provisioning (blurry output when scaled up later). Common targets: 32×32 or 64×64 for icons, 256×256 or 512×512 for logos, 1024×1024 for hero graphics, 2048×2048 for retina-quality assets.

Why Convert SVG to PNG

SVG is wonderful for the web and modern design tools but terrible for many other contexts. Email clients render SVG inconsistently; some block it as a security risk. Older office software, certain CMSes, third-party services, and almost all photo print pipelines do not accept SVG at all. Converting to PNG produces a universally accepted raster that looks identical at the chosen size.

PNG also embeds reliably into office documents, slide decks, and PDFs without depending on the recipient's SVG renderer. For logos and graphics that need to appear consistently across many platforms, PNG is the safer choice — even though it loses the resolution-independence that makes SVG attractive in the first place.

How to Convert SVG to PNG

Choose your target size, render. The browser does the rasterization.

  1. Upload the SVG file: Drag an SVG into the upload area or click to browse. Files up to 50 MB are supported, although typical SVGs are well under 1 MB. Self-contained SVGs work best; SVGs that reference external images via xlink:href to remote URLs may render incomplete.
  2. Choose the output size: Default is the SVG's native viewBox dimensions, but you can override to any pixel size. Pick a size that matches your actual usage — avoid producing 4K PNGs for icons that will display at 32×32.
  3. Render: The browser parses the SVG, draws it onto a canvas at the requested dimensions, and exports the canvas as PNG. Complex SVGs with filters or large path counts may take a moment; simple icons render instantly.
  4. Download the PNG: Save the file. Transparency in the SVG (anything outside drawn shapes) is preserved as an alpha channel in the PNG.

Common Use Cases

Technical Details

SVG (W3C Recommendation) is an XML-based vector format with elements for paths, basic shapes (rect, circle, ellipse, line, polygon, polyline), text, gradients (linearGradient, radialGradient), filters, masks, and clip paths. The browser parses the XML, builds a DOM, applies CSS, and rasterizes the result during page rendering.

This converter loads the SVG into an HTMLImageElement (which triggers the browser's normal SVG-as-image rendering path), then draws it to a canvas via drawImage. The canvas is exported as PNG using canvas.toBlob('image/png'). The exact pixels in the output match what the SVG would render at the same size in a browser tab.

Edge cases: SVG using foreignObject is not always supported when used via Image element. SVG referencing external resources (xlink:href to a different domain) may fail to load due to CORS. SMIL animations and JavaScript-driven animations render as the initial frame only.

Best Practices

Frequently Asked Questions

What size should I render the PNG at?
Pick the size you will actually display, then double it if the image will appear on retina or high-DPI screens. Common sizes: 32×32, 64×64, 256×256 for icons; 512×512 or 1024×1024 for logos; 1920×1080 or larger for hero graphics. Rendering at gigantic sizes produces huge files without visible benefit at normal display sizes.
Will the PNG be transparent?
Yes, by default. Any area of the SVG without a drawn shape becomes a transparent pixel in the output PNG. To produce a solid background, modify the SVG to include a background rectangle before converting.
Are gradients and filters supported?
Yes. The browser's SVG renderer handles linear and radial gradients, all standard SVG filters (feGaussianBlur, feColorMatrix, feComposite, etc.), masks, clip paths, and patterns. Output matches what the SVG would display in a browser tab.
Will SMIL animations render as animation?
No. PNG is a still image format. The output captures the initial frame of any animation. For animated output, use a tool that produces APNG or GIF from animated SVG.
Is text rendered as text or as paths?
Text is rasterized as pixels in the output PNG. The output is no longer searchable or selectable. If your SVG uses fonts not available in the browser, text may render in a fallback font; convert text to paths in the SVG before rendering for guaranteed appearance.
Is my SVG uploaded to a server?
No. SVG parsing and rendering happen in your browser; PNG encoding happens in your browser. The file does not leave your device.
Why is my converted PNG blank?
Common causes: the SVG references external images that failed to load due to CORS; the SVG uses features not supported by the Image-element rendering path (foreignObject, certain filters); the SVG has zero-dimensional viewBox. Open the SVG directly in a browser to confirm it renders before converting.
Can I convert SVG to PNG in a script?
Yes — for batch jobs, a Node.js setup using sharp or puppeteer renders SVG to PNG with similar fidelity to the browser. This tool is for one-off conversions in the browser without installing anything.