BMP to SVG Crop Converter

Load a BMP, drag the crop handles to define exactly the area you need, preview the result, then download an SVG file. Everything runs in your browser — your image never leaves your device.

🖼️

Drop a BMP here

or Browse Files  ·  BMP supported

What This Tool Does

This tool loads a BMP image directly in your browser, presents an interactive crop overlay with draggable handles, and converts the selected area to an SVG file. No server upload is required. The full workflow — loading, cropping, encoding — runs entirely in client-side JavaScript using the HTML5 Canvas API. BMP files use standard uncompressed bitmap encoding; this tool uses URL.createObjectURL() combined with img.decode() to guarantee the BMP is fully decoded before drawing, preventing blank canvas issues. The output is an SVG document with the cropped BMP pixel data embedded as a base64-encoded PNG image element, producing a valid, scalable SVG compatible with all modern browsers, design tools, and SVG-aware applications.

Who This Is For

  • Web developers who need a cropped region of a BMP file in SVG format for embedding in HTML or CSS
  • Designers converting specific sections of legacy BMP artwork to SVG for use in modern design workflows
  • Anyone who needs a quick crop-and-convert workflow from BMP to SVG without installing software
  • Developers working with SVG-input tools or APIs that require SVG format from bitmap source files

BMP vs SVG: Format Comparison

PropertyBMPSVG
File typeRaster bitmapVector / XML document
ScalabilityPixelates when enlargedScales perfectly at any size
CompressionUncompressed (or minimal RLE)PNG-embedded or path-based
Web supportLimited — not a standard web formatNative — supported in all browsers
Editable in design toolsPixel-level onlyYes — paths and elements are editable
Transparency supportLimited (1-bit AND mask)Full alpha transparency
File sizeVery large (uncompressed)Varies — compact for shapes, larger for embedded images
Best forWindows native apps, legacy systemsWeb graphics, icons, scalable UI elements

Frequently Asked Questions

Why does the output SVG contain an embedded PNG rather than vector paths?
BMP files store pixel data — a grid of individual color values with no path or shape information. Converting pixel data to true vector paths requires tracing algorithms (like Potrace) that run on a server or as a native application, not in a browser. Embedding the cropped pixels as a PNG inside an SVG container produces a valid, standards-compliant SVG file that scales without pixelation at the SVG viewport level and is accepted by all SVG-aware applications.
How precise is the crop tool?
The crop operates at native pixel accuracy on the original BMP dimensions. The canvas is scaled to fit your screen for display, but the actual crop coordinates are mapped back to the full-resolution image before the SVG is generated. You get an SVG at the exact pixel dimensions shown in the crop dimensions badge.
Can I move the crop selection after setting it?
Yes — click and drag inside the crop rectangle (away from the handles) to reposition it anywhere within the image. Handles resize; the interior pans.
What browsers are supported?
All modern browsers — Chrome, Firefox, Edge, Safari (desktop and mobile). The tool uses standard HTML5 Canvas and Blob APIs that have been universally supported since 2015. BMP decoding is handled natively by the browser via the Image element and img.decode().
Is there a file size limit?
There is no server-imposed limit because no upload occurs. The practical limit is your browser's available RAM. BMP files are uncompressed, so a 10 MP BMP is roughly 30 MB on disk. Most modern desktops handle this comfortably. Very large files on memory-constrained mobile devices may be slower.
Can I use the output SVG directly in a web page?
Yes — the output SVG can be embedded with an <img src="file.svg"> tag, an <object> element, or inlined directly in HTML. The embedded PNG data is base64-encoded inside the SVG, so no external files are required. The SVG will scale to any size specified in CSS without pixelation at the SVG viewport level.