How to Convert SVG to PNG in Code — JavaScript, Python, and Node.js
Convert SVG to PNG programmatically — JavaScript Canvas API, Node.js with Sharp or Puppeteer, Python with CairoSVG for server-side SVG rasterization.
Drop your image here
Supports PNG, JPG, BMP, WEBP up to 5MB
SVG to PNG in Node.js with Sharp
Sharp is the fastest Node.js image processing library and supports SVG to PNG conversion directly. `sharp(svgBuffer).png().toFile('output.png')` converts an SVG buffer to PNG. Sharp uses libvips for high-performance rasterization — significantly faster than Puppeteer for batch SVG conversion.
- `npm install sharp`
- `const sharp = require('sharp')`
- `await sharp(svgBuffer).resize(1200, 630).png().toFile('output.png')`
SVG to PNG in Python with CairoSVG
CairoSVG is the standard Python library for SVG to PNG conversion using the Cairo rendering engine. `cairosvg.svg2png(url='input.svg', write_to='output.png', output_width=1200)`. CairoSVG handles complex SVG features including filters, gradients, and masks accurately.
- `pip install cairosvg`
- `import cairosvg`
- `cairosvg.svg2png(url='input.svg', write_to='output.png', scale=2.0)`
Frequently Asked Questions
How do I convert SVG to PNG in Node.js without installing native dependencies?
Use Puppeteer (headless Chrome): `const browser = await puppeteer.launch(); const page = await browser.newPage(); await page.setContent(svgHtml); const img = await page.screenshot({ type: 'png' })`. Puppeteer fully renders SVG including animations, filters, and web fonts.
How do I set the output size when converting SVG to PNG in code?
Sharp: `.resize(width, height)` before `.png()`. CairoSVG: `output_width=1200` parameter scales proportionally. Puppeteer: set `page.setViewport({ width: 1200, height: 630 })` before screenshot. For Sharp, ensure the SVG viewBox is set correctly for the resize to maintain proportions.
Related guides
Ready to Convert Your Image to SVG?
Free online converter — no sign-up, no watermarks, results in under 3 seconds.
Try It Free — Convert Image to SVG