App logo for a marketplace listing
- Input
- An SVG logo made of paths with a transparent background and no external assets.
- Output
- A 1024 px PNG with transparent corners. Curves were clean at that size but no longer vector-scalable.
SVG → PNG fixes vector artwork to a pixel size for upload targets that cannot render SVG themselves.
From real runs
| Element | Result | What happens |
|---|---|---|
| Vector geometry | Changed | Paths and shapes are rasterized to the requested width, height, or DPI and no longer scale infinitely. |
| Transparency | Kept | Transparent SVG backgrounds remain transparent in the PNG unless a background is specified. |
| Fonts | Changed | Fonts referenced by family name are substituted when that font is not installed in the rasterizer environment. |
| External images | Lost | Linked images are not fetched, so SVGs should embed required raster assets before conversion. |
| External CSS | Lost | Styles in separate CSS files are not loaded; inline critical styling inside the SVG file. |
| SVG filters | Changed | Common filters may render, but complex filter chains are only partially supported by the rasterizer. |
Paths and shapes are rasterized to the requested width, height, or DPI and no longer scale infinitely.
Transparent SVG backgrounds remain transparent in the PNG unless a background is specified.
Fonts referenced by family name are substituted when that font is not installed in the rasterizer environment.
Linked images are not fetched, so SVGs should embed required raster assets before conversion.
Styles in separate CSS files are not loaded; inline critical styling inside the SVG file.
Common filters may render, but complex filter chains are only partially supported by the rasterizer.
We converted our SVG sample (389 B) with Image engine on 2026-10-20. It took 27 ms and produced a 4 KB PNG file, 9.5× larger than the input. The engine raised 1 warning, listed below.
Input · sample.svg · 389 B
SVG viewBox 0 0 320 200, 0 paths
Output · sample.png · 4 KB
320 × 200 px, 8-bit, colour type 6
librsvg rsvg-convert
rsvg-convert -w 1024 in.svg -o out.pnglibrsvg's font and filter behavior may differ from the Pillow-backed rasterizer used by this page.
The HTTP API and the MCP server run the exact engine this page uses (Image engine); the response carries the same warnings the web converter shows. Check support first with GET /api/v1/pairs?from=svg&to=png.
curl -X POST https://filetypeconverters.com/api/v1/convert \
-H "Authorization: Bearer $FTC_API_KEY" \
-F "file=@input.svg" -F "from=svg" -F "to=png" \
-F 'options={"dpi":96}' \
--output output.png| Key | Applies to | Type | Default |
|---|---|---|---|
| dpi | Reading SVG | number | 96 |
| width | Writing PNG | number | 0 |
| height | Writing PNG | number | 0 |
| fit | Writing PNG | contain · cover · fill | contain |
| quality | Writing PNG | number | 90 |
| background | Writing PNG | string | #ffffff |
| stripMetadata | Writing PNG | boolean | true |
The rasterizer can only use fonts installed in its environment. Convert text to paths or use common fonts when exact lettering matters.
Yes, if the SVG itself has transparency and you do not set a solid background for the PNG.
External images are not loaded. Embed the images as data URIs or produce a self-contained SVG before converting.
Use width and height for screen pixels. Use DPI when the SVG uses physical units and the printed size matters.