Converter · No upload

Convert SVG to JPG on your device

Turn SVG drawings into JPG images at the declared size or 2×, 3× or 4× it, at the quality you choose.

Read here — Statusidle Files— OutputJPG Network since file read—

A static raster snapshot, not vectors, at the chosen scale (default 1×) and JPG quality (default 0.92), on a white background. Rows show pixels, reduced scale and recognized SMIL animation, not CSS-only animation. External references the check detects, scripts, <foreignObject>, compressed SVGs and files with no readable size are refused by name. Takes .svg.

How this converter works

This page reads the SVG as text, works out its size from the width and height (in any supported unit) or the viewBox, and writes that size in pixels onto a copy, since a browser drawing an unsized SVG falls back to 300 × 150. Your browser draws the copy onto a white canvas at the scale you picked, and the canvas is saved as a JPG at the quality you chose. Shapes are redrawn at the new resolution, so edges stay sharp at 4×, but an embedded photo gains no detail. It all runs in your browser, with no extra converter library.

To watch the network yourself on a desktop browser, open developer tools (often F12), select Network and convert a file. A browser drawing an SVG as an image runs no scripts and fetches nothing from outside the file, including images, fonts and stylesheets at web addresses or file paths. A drawing that needs one of those comes out with a placeholder, a blank area or a substitute font, and no request appears, so a Network list showing zero requests can still hide an incomplete drawing. That is why this page refuses a file with an external reference it detects, and names the reference on the row. Script elements are refused too. HTML inside a foreignObject is refused because the browser then stops the page from reading back the drawn pixels. The methodology page explains the other network checks.

The JPG has one fixed size, so keep the SVG if you need to draw it again at another size. JPG compression can blur sharp text, edges and flat colours; use SVG to PNG when that matters and you do not need a JPG. A font the device lacks is replaced without a warning, so the output can differ between devices. An animated SVG becomes one still picture. The row flags SMIL animation (animate, animateTransform, animateMotion and set); CSS animation is not flagged. In a Chrome test, a rectangle animating from red to blue came out red; which moment of a CSS animation gets captured was not tested. The canvas is capped at 268,435,456 pixels and 32,767 pixels a side. If your scale would go past the cap, the page uses the largest scale that fits and the row says so, and a drawing too big to fit at 1× is refused. A browser can still run out of canvas space or memory below the cap. The quality dial applies to every file not yet encoded when it moves; completed outputs are unchanged.

Frequently asked questions

Is my SVG uploaded anywhere?
No. The page reads the SVG text, has your browser draw it and saves the JPG, all on your device. The network meter counts resource-timing entries from the first file read, so it leaves out earlier page and code loading and other network channels. Once the page has loaded, converting a file while offline checks that the conversion runs locally.
What happens to transparency?
JPG has no alpha channel, so the drawing is flattened onto a white background, and the result row says so. The page paints the white itself before drawing, so the colour does not depend on the encoder. Use SVG to PNG to keep transparency.
What size will the JPG be?
The size the SVG declares, at 96 pixels per inch, times the scale you pick. A file with width and height in mm, cm, in, pt or pc is converted at that rate, so a 210 × 297 mm drawing is 794 × 1123 pixels at 1×. One sized in pixels or plain numbers is read as CSS pixels, so a 200 × 100 file gives a 200 × 100 JPG at 1× and an 800 × 400 one at 4×. A file with only a viewBox is sized from the viewBox, one user unit per pixel, and the row says so. Every row prints the pixel size that came out.
What quality setting should I use?
Quality runs from 0.5 to 1 and starts at 0.92. JPG artifacts can stand out around lettering and the edges of flat colours, so compare the output at the size it will be shown. Raise the quality if you see them, and lower it when a smaller file is worth the difference.
Why was my file refused?
External images, fonts, stylesheets, file paths and CSS @import references are refused by name when the preflight check finds them. The check can miss some CSS escapes and other reference forms, so look over the output for missing pieces. A link wrapped around a shape is fine. Script elements and HTML inside foreignObject are refused too, including the HTML labels in draw.io and diagrams.net exports; export labels as paths or plain SVG text. Gzip-compressed SVGs and malformed XML are refused by name, and so is a file whose size cannot be read from its width, height or viewBox. The size check reads the viewBox without validating every value in it, and the page does not decompress files or guess a size.

Related tools