SVG to PNG Converter

Paste SVG markup or choose a local SVG file, set the PNG size and background, then convert it in this browser.

SVG input
Output size
Background

Private by design: Your SVG is processed in this browser. ToolNeko does not upload the file or pasted markup.

Strict safety checks before rasterizing

This version blocks scripts, event handlers, HTML/foreignObject, stylesheets, animation, filters, embedded images, and every external, data, blob, or file reference before rendering. It builds a new SVG from a positive list of static elements and attributes; it never inserts the source into the ToolNeko page as live markup.

Local #fragment references are checked for missing targets, incorrect target types, cycles, reference depth, and bounded expanded cost. Unsupported input receives one stable error code, and no old preview remains after an edit or failed conversion.

Exact output receipt and hard limits

The conversion receipt identifies whether dimensions came from explicit width and height, a viewBox, or one dimension derived from a viewBox. It also records the chosen width or scale, exact integer PNG dimensions, pixel count, background, and the supported-subset preflight result.

ToolNeko rejects input above 1 MiB, more than 10,000 elements, 40,000 attributes, depth 128, excessive path data, or an expanded local-reference cost above 50,000. PNG dimensions stop at 8,192 pixels per axis and 16,777,216 pixels overall. These checks happen before the render canvas is allocated.

Viewport, transparency, and browser fonts

Width mode derives height from the validated source viewport. Scale mode multiplies both source dimensions, and each result is rounded once to whole CSS pixels. SVGs with explicit dimensions and no viewBox retain that intrinsic viewport while the whole decoded artwork is scaled into the requested PNG.

Your SVG is processed in this browser. ToolNeko does not upload the file or pasted markup. Transparent output leaves uncovered pixels clear; solid output fills the complete canvas with the chosen opaque color before drawing the SVG.

Text can look different when this browser does not have the SVG's font. Convert important text to paths when exact typography matters.

Supported SVG subset

The converter supports static groups, definitions, symbols and local use, paths, basic shapes, text and spans, titles and descriptions, linear and radial gradients, clipping paths, and masks with closed attribute grammars. It does not edit, optimize, canonicalize, or round-trip SVG source, and it does not offer batch or ZIP conversion, accounts, sharing, or cloud storage.

A successful PNG download uses a temporary browser URL. Repeated downloads of that same result share one one-minute lease; changing input, clearing, or leaving removes the current preview without placing data in history, storage, or a shareable address.

Frequently asked questions

Does ToolNeko upload my SVG?

No. The file or pasted markup is read and converted in this browser. Tool analytics use only fixed input, sizing, and background-mode categories, a broad input-size bucket, the action, and a stable error code when applicable. They do not include SVG or PNG contents, filenames, exact dimensions, or the selected color value.

Why can an SVG be refused?

SVG can contain scripts, events, HTML, remote resources, embedded images, animation, filters, and stylesheets. This converter accepts a documented static subset and refuses unsupported or external features before it creates a render URL or canvas.

Can I keep a transparent background?

Yes. Transparent is the default. You may instead choose one opaque six-digit hex background color before conversion.

How does output sizing work?

Width mode keeps the source viewport ratio and derives the PNG height. Scale mode multiplies both source viewport dimensions. The receipt shows the source basis, final integer dimensions, and pixel count.

Why might SVG text look different?

The browser uses fonts available on this device. Convert important text to paths in your design application when typography must match exactly.

What are the size limits?

Input is limited to 1 MiB of UTF-8 SVG. Each PNG axis is limited to 8,192 pixels and the full image to 16,777,216 pixels. Structure and local references also have fixed limits before rendering.

Sources and method

Related tools