Convert SVG to BMP

Converting SVG to BMP renders the drawing to a grid of pixels and writes it as an uncompressed 24-bit bitmap — the format old Windows software and embedded displays read without a decoder. You choose the size, because an SVG has none; transparency is filled with a colour, because a BMP has no alpha.

  • Where it runs In your browser. The file is never uploaded.
  • Rebuilt BMP works differently from an SVG, so this is not the gradual degradation a lossy codec applies. What BMP can express is reproduced faithfully; what it has no equivalent for does not survive at all.
  • File size limit Up to 100 MB per file, free, without an account.
  • Worth knowing Text is rendered with the fonts embedded in the file; anything else falls back.

Up to 100 files at once. Mixed formats are fine.

Arbitrary shapes on one side, three bytes a pixel on the other

These two formats sit at opposite ends of everything. An SVG is text: a list of paths, fills and transforms that a renderer turns into a picture at whatever size is asked for, so the file has no resolution and no fixed byte cost. A BMP is the picture already made, stored as literal rows of colour with no compression, no structure and nothing to interpret.

That gap is the whole subject of this page. Going one way is a rendering — a decision about size, background and antialiasing, taken once and then permanent. Going the other way is not possible; there is no path from a grid of bytes back to the shapes that drew it.

Deciding how large to render, since the file will not tell you

A width and height attribute on an SVG is a suggestion, not a size — the drawing is defined by its viewBox and can be produced at any resolution. So the conversion has to pick one, and the scale setting is that decision. The default renders 1,024 pixels wide and the height follows the drawing’s proportions; the scale runs from 0.1 to 10, giving anything from 102 to 10,240 pixels.

Pick the number the destination actually needs rather than the largest available, because the cost here is unusually steep. Unlike PNG or WebP, a bitmap’s size does not depend on what is in the picture at all: doubling the width quadruples the file whether the drawing is a full illustration or a single black line.

The file size is arithmetic, not a result

Every pixel takes three bytes — blue, green and red, in that order — and each row is padded up to a multiple of four. Add a 54-byte header and that is the entire file. A 1,024-pixel square is 3,072 bytes a row and 3,145,728 bytes of image data, giving 3,145,782 in total.

So an SVG of a few hundred bytes becomes roughly three megabytes at the default setting, and about twelve at scale 2. This is not a defect of the converter; it is what BMP is, and it is the reason anything that has a choice picks another format. If the destination has a size limit, do the multiplication before converting rather than after.

The background has to become a colour before the rows are written

The bitmap written here is 24 bits per pixel with no fourth channel. There is a header variant that defines alpha, and files using it exist, but support for it is exactly the sort of thing BMP is usually chosen to avoid — so the transparency has to be resolved first.

The drawing is rendered onto nothing and then flattened onto the background colour in a single pass, which matters: filling first and scaling afterwards would bleed the fill into the edges, and scaling a transparent image before flattening leaves a fringe of half-transparent pixels that the fill then darkens. Set the colour to whatever surface the bitmap will sit on. White is the default and is wrong on a dark panel.

resvg renders the drawing, not your browser

The rendering is done by resvg compiled to WebAssembly rather than by the browser’s own SVG engine, and that is deliberate. Handing an SVG to a canvas gives whatever that browser feels like: different text metrics, different filter support, visibly different results for the same file in Chrome and Safari. One renderer means the bitmap is identical on every machine that produces it.

That matters more here than on most targets. A bitmap going onto a device or into an installer is usually checked once and then trusted forever, sometimes compared byte for byte against a reference. A rendering that varies by browser would make that comparison meaningless.

Text that has not been outlined will be substituted

SVG stores text as text and refers to a typeface by name. If the font is not embedded in the file, the renderer picks something else, and a carefully spaced wordmark comes back with different letterforms and different spacing. This is the single most common reason a rendered SVG looks wrong.

The fix belongs in the design tool, not here: convert text to outlines or paths before exporting, and the letters become shapes that nothing can swap. It also makes the file safe to hand to anyone else, which is worth doing anyway if the drawing is going into a system you do not control.

Why a program in 2026 still wants an uncompressed bitmap

Because reading one needs no library. A microcontroller driving a small display can seek past the 54-byte header and copy bytes into a framebuffer with a loop; supporting PNG on the same device means adding a decompressor, a memory allocator and a chunk parser to something that may have 32 KB of RAM.

The same logic covers installer resources loaded through the platform’s own bitmap calls, older Windows controls, and test fixtures that compare images without a codec in the way. In each case the format is chosen for predictability, and the megabytes are the price of it.

The SVG stays the master copy

Delete the bitmap and you can make another. Delete the SVG and the bitmap is all there is, and everything that made the drawing useful — editability, arbitrary resolution, a text-diffable history in version control — is gone for good. Tracing a BMP back into paths guesses at the edges and produces a different file with more nodes and worse curves.

Treat the conversion as an export step, ideally one your build runs rather than one somebody does by hand. When the panel needs a different size next year, re-render from the vector instead of scaling a three-megabyte bitmap.

Rendering a folder of drawings to bitmaps at once

Drop the whole set. Every file is rendered at the same scale and flattened onto the same background, which is usually what these destinations need — a set of panel graphics that disagree about their backgrounds looks worse than any of them being individually imperfect.

Watch the total size. Twenty drawings at the default scale is around sixty megabytes of bitmap before the ZIP, which is enough to be slow on a phone and enough to fill a small device’s storage. Reducing the scale to what the display actually shows is the single most effective thing you can do to that number.

How to render an SVG into a BMP

  1. Drop your SVG onto this page, or click to choose one.
  2. Set the scale and the background colour the drawing will sit on.
  3. Download the uncompressed 24-bit BMP.

SVG against BMP: a description of shapes against a wall of bytes

SVG compared with BMP
SVGBMP
Full nameScalable Vector GraphicsWindows Bitmap
File extension.svg.bmp, .dib
Media typeimage/svg+xmlimage/bmp
CompressionUncompressedUncompressed
First published20011987
Published byW3CMicrosoft
SpecificationSVG 1.1
LicensingOpen standardPublished, not standardised
Standing todayCurrentLegacy, still read everywhere
Bit depth8
Colour it can describeRGBRGB, indexed palette
Opens in a browserEvery browserEvery browser
Considered insteadPNG, PDFPNG, TIFF

What is lost

BMP has no alpha channel. A transparent SVG comes out with those areas filled in — white unless something else is set — and no setting in BMP brings the transparency back.

SVG describes shapes and BMP stores pixels. The result is sharp at the size it was rendered and no sharper — enlarging it afterwards can only invent the pixels in between, which is why the export size matters more here than in most conversions.

BMP holds a single still image. An animated SVG keeps its first frame and loses the rest, so a conversion is a way to take a still out of one, not a way to move it.

Opening the result

The usual programs do not overlap: SVG opens in Inkscape, Adobe Illustrator and Figma, BMP in Microsoft Paint, GIMP and IrfanView — so whoever receives the result needs something from the second list.

What each format is for

The two are aimed at different work: SVG at the web, line art and logos and editing, BMP at moving data between programs. That is worth weighing before converting, because the reason one exists is usually the reason the other is awkward.

SVG is W3C's format, published in 2001. The specification is SVG 1.1, and it is worth reading if the file has to outlive the tool that wrote it.

BMP comes from Microsoft and dates from 1987. Microsoft Paint, GIMP and IrfanView all read it.

SVG to BMP: size, background colour and resolution

How big will the BMP be?

Predictably large, because nothing is compressed. Three bytes a pixel, each row padded to a multiple of four, plus a 54-byte header. At the default 1,024-pixel width a square drawing comes to 3,145,782 bytes — about 3 MB from an SVG that may be under a kilobyte.

What size does the SVG get rendered at?

An SVG has no pixel size of its own, so one is chosen: 1,024 pixels wide by default, multiplied by the scale setting. The height follows the drawing’s own proportions. Scale runs from 0.1 to 10, so 102 to 10,240 pixels wide.

What happens to the transparent background?

It is filled with a solid colour before the bitmap is written, because the BMP produced here is 24-bit and has no alpha channel. White is the default; set the background to match the surface the image will be drawn on.

Can I convert the BMP back into an SVG afterwards?

Not in any real sense. The shapes have become pixels and the only way back is tracing, which redraws the picture by guessing where the edges were. Keep the SVG as the master and treat the bitmap as an export.

Why does my text look wrong in the bitmap?

Because the SVG names a font rather than containing it. Anything not embedded is substituted by the renderer. Convert text to outlines in your design tool before exporting and the letters become shapes that cannot be swapped.

Is the drawing uploaded to render it?

No. resvg runs as WebAssembly in this tab and the bitmap is assembled here too, which is also why a 3 MB result appears without any upload or download.

More about these formats

Where these figures come from

The claims this page makes about SVG and BMP are checkable, and these are the documents that settle them.