Rotate BMP bitmap images online for free. Fix orientation of Windows graphics and legacy images with compression control.
BMP (the Windows Bitmap format introduced by Microsoft in the late 1980s) stores raw pixel data with an optional simple header and color table. Unlike JPEG, BMP has no EXIF orientation tag — there is no metadata flag a viewer can flip to display the image upright. The only way to actually re-orient a BMP is to rewrite the pixel grid, which is exactly what this tool does.
Print Screen historically wrote 24-bit BMP; older industrial HMIs and embedded controllers still do. Rotating in place keeps the format identical so the original viewer or PLC software still loads it.| Property | BMP | PNG | JPEG |
|---|---|---|---|
| Compression | None by default; 4/8-bit RLE optional | Lossless DEFLATE | Lossy DCT |
| Typical size (1920x1080, 24-bit) | ~6.3 MB | ~1-2 MB | ~200-500 KB |
| Color depth | 1, 4, 8, 16, 24, 32 bpp | 1-16 bpp gray, up to 64-bit RGBA | 8-bit per channel, 24-bit color |
| Transparency | Yes (32-bit, BITMAPV4HEADER+) | Yes (alpha channel) | No |
| EXIF orientation tag | No — physical rotation required | No — physical rotation required | Yes — lossless rotate possible |
| 90/180/270 rotation | Pixel-perfect, lossless | Pixel-perfect, lossless | Pixel-perfect when dimensions are MCU-aligned |
| Best for | Legacy Windows, GDI apps, raw pipelines | Web, screenshots, UI, transparency | Photos, web sharing, smaller files |
| Angle | What it does | Quality | When to use |
|---|---|---|---|
| 90 clockwise | Quarter turn right | Pixel-perfect (lossless) | Portrait scan came in landscape, right-side-up needed |
| 90 counter-clockwise | Quarter turn left | Pixel-perfect (lossless) | Same as above but rotated the other way |
| 180 | Upside down | Pixel-perfect (lossless) | Scanner fed face-down, camera held upside-down |
| Custom (1-89, 91-179, etc.) | Arbitrary angle | Resampled, minimal loss | Crooked scan, tilted handheld capture, design effects |
Right-angle rotations (90, 180, 270) only swap or reverse rows and columns of the pixel grid — every original pixel value is preserved. Custom angles need bilinear or bicubic resampling because the rotated grid no longer aligns with the original pixel centers.
No, not for 90, 180, or 270 rotations. BMP stores raw pixel data, so a quarter or half turn just rewrites the pixel array in a different order — every byte of color information is preserved exactly. Only custom angles (anything that's not a multiple of 90) require resampling, and even then the loss is minimal because BMP itself doesn't add lossy compression on top.
Because BMP is uncompressed by default. A 1920x1080 24-bit BMP is roughly 6.3 MB whether you rotate it or not — the byte count comes from width x height x bytes-per-pixel plus a small header. To shrink the output, expand Image Compression and pick a Quality Preset, set Image Quality (%), or specify a target file size. If size matters more than the format, BMP to PNG gives lossless output at roughly 20-30% of the BMP size, and BMP to JPG gets it well under 1 MB at typical quality settings.
Phone photos are JPEGs, and JPEG includes an EXIF Orientation tag (1-8) that viewers read to display the image upright without rewriting pixels. The BMP file format has no orientation metadata at all — the pixel grid is the only source of truth for which way is up. So rotating a BMP always means physically rewriting the pixel data, which is exactly what this tool does.
Yes. Modern BMP files using BITMAPV4HEADER or BITMAPV5HEADER (Windows 95 and later) carry a per-pixel alpha channel, and the rotation operation moves alpha values along with the RGB values. Custom angle rotations fill the new corner triangles with fully transparent pixels.
Not on this page — the editor loads one file at a time. Rotate it, save, then + Start New for the next file, picking the same angle and compression settings each time. It's manual, but that's still the workflow for scanner batches, fax inboxes, and legacy archive conversions — one file per pass.
The tool processes files in your browser, so the practical limit is how much memory your browser tab can hold. A 24-bit BMP is fully decoded as a raw pixel buffer (about 4 bytes per pixel including padding), so an 8000x6000 image needs roughly 200 MB of working memory in your browser tab. For typical scanner and screenshot output up to 4K, processing is fast and the upload is the only real wait.
Keep BMP only if your downstream tool requires it — older Windows GDI applications, some industrial or medical software, certain game-asset pipelines, and a handful of embedded systems. For everything else, rotating then converting via BMP to PNG (lossless, smaller) or BMP to JPG (much smaller, lossy) is more practical. You can also do the reverse trip with PNG to BMP if you need to feed a legacy app.
The output uses a standard BITMAPINFOHEADER (40-byte) container, which is the universally compatible Windows BMP header and is read by every Windows version since Windows 3.0. Files using the older 12-byte BITMAPCOREHEADER (OS/2 1.x style) are upgraded to BITMAPINFOHEADER on save. If your input had a 32-bit alpha channel via V4/V5, the output preserves the alpha channel.
Yes. The same Advanced Options panel exposes Image resolution (preset or percentage), Image Bit Depth, Image Color Palette and palette size, and DPI presets (72/96/150/200/300/400/600/1200). For pure size shrinking after rotation, see also Compress BMP and Resize BMP.