SVG to PNG/JPG Converter
Drop, paste, or load an SVG from a URL, resize it to exact pixel dimensions, and export it as a PNG or JPG.
Resizing and export run entirely in your browser. The one exception: loading an SVG from a URL goes through our server, since a browser can't fetch most third-party URLs directly (see below) — nothing else here is uploaded, logged, or sent to analytics.
How the conversion works
The SVG is drawn into an HTML <canvas> element sized to your chosen output
dimensions, then read back as a PNG or JPG image — the same technique browsers use to
rasterize vector graphics natively. Because the canvas is created at your target size, the
result is a true resize, not a scaled-up screenshot: a 4000×4000 export from a 24×24 icon
stays crisp, since the vector paths are re-rendered at the larger size rather than stretched.
PNG vs. JPG
PNG keeps transparency, so an icon or logo with no background stays transparent in the output — the default for this tool. JPG has no alpha channel, so any transparent areas are filled with a background color first (white by default, adjustable); JPG also supports a quality slider that trades file size for compression artifacts, which PNG's lossless encoding doesn't need.
Sizing options
- Exact dimensions — type a width and/or height in pixels.
- Lock aspect ratio — editing one dimension recalculates the other from the source SVG's proportions, so you can't accidentally stretch it.
- Scale presets — 1x/2x/4x/8x buttons multiply the SVG's own intrinsic size (from its
width/heightorviewBox), the usual way icon exports are specified.
Loading an SVG from a URL
Paste a direct link to an .svg file and click Load to fetch it
into the editor. This one step is the exception to "nothing leaves your browser" below: a
plain browser request to a random third-party URL is blocked by CORS on most static-asset
hosts, which would leave you with an unhelpful "failed to fetch" and no real reason why — so
this request goes through DevEquiv's own server instead, which fetches the URL on your
behalf and hands the SVG back. That's also what makes the error messages specific: a 404, a
page that isn't actually SVG, a response over 5 MB, or a URL that redirects all get
reported for what they are, rather than a generic failure.
Only http:// and https:// links are accepted, and the target isn't
stored — the SVG passes through to your browser and the request isn't logged. This route
also has its own protections against being pointed at internal or private infrastructure,
and a per-IP daily limit to keep it from being used as a general-purpose fetch proxy.
Nothing else is uploaded
Outside of fetching a URL you explicitly give it, the tool never touches a server: parsing, resizing, and export all happen locally via the Canvas API. Whatever SVG you drop, paste, or edit stays entirely in your browser. This also means an SVG that references an external image on another server may fail to export cleanly if that server doesn't allow cross-origin image reads; embedding images as data URIs inside the SVG avoids the issue entirely.