SVG to PNG
Try it interactively →POST /api/svg-to-pngRender an SVG to a PNG at the requested size. Useful for thumbnails, OG images, app icons, anything that needs a bitmap of an SVG.
Inputs
| Name | Type | Default | Description |
|---|---|---|---|
| svg* | file | — | SVG markup (UTF-8 bytes). |
| width | number (1…16384) | — | Output width in pixels. Mutually exclusive with `height` and `scale`. |
| height | number (1…16384) | — | Output height in pixels. Mutually exclusive with `width` and `scale`. |
| scale | number (0.05…32) | — | Zoom factor (1 = native size, 2 = double, 0.5 = half). Mutually exclusive with `width` and `height`. |
| background | string | — | CSS colour for the background (e.g. `#fff`, `rgba(0,0,0,0.5)`). Default transparent — preserves SVG transparency. |
| dpi | number (1…600) | 96 | DPI for physical-unit conversion (mm/pt → px). Default 96 (web-standard). Use 300 for print-quality output. |
Response
Modes: binary, base64-json. Cache: yes (24h TTL).
Code samples
Built from the native-size example.
# Download or substitute the example input:
# curl -O https://xtract.bot/examples/svg-to-png/sample.svg
SVG=$(base64 -w0 < sample.svg)
curl -X POST https://api.xtract.bot/api/svg-to-png \
-H "Content-Type: application/json" \
-H "Accept: application/octet-stream" \
-H "X-Account-Id: $XTRACT_ACCOUNT_ID" \
-H "X-Api-Key: $XTRACT_API_KEY" \
-d '{
"svg": "'"$SVG"'"
}'