BMP to TIFF Converter
Convert BMP images to TIFF format online. Supports LZW and PackBits compression, preserves quality, works entirely in your browser.
Drop BMP file here or click to browse
Supports 24-bit and 32-bit uncompressed BMP
Preparing...
Conversion Complete
About
BMP files lack compression and metadata capabilities required for archival and print workflows. Converting to TIFF provides lossless compression options (LZW reduces file size by 40 - 60% without quality loss), embedded ICC profile support, and multi-page document compatibility. Incorrect conversion strips essential IFD tags - corrupting files that appear valid but fail in professional RIP software. This tool implements the TIFF 6.0 specification with proper byte alignment, tag ordering (ascending by code), and rational number encoding for resolution fields (XResolution, YResolution stored as two 32-bit unsigned integers). Processing occurs entirely client-side; your images never leave the browser.
Formulas
BMP row padding ensures each scanline aligns to a 4-byte boundary. The padding calculation:
where width = image width in pixels, bytesPerPixel = 3 for 24-bit or 4 for 32-bit BMP.
TIFF RATIONAL fields encode resolution as a fraction:
LZW compression uses variable-width codes starting at 9 bits, expanding to 12 bits maximum. Clear code = 256, EOI code = 257. Dictionary builds dynamically during encoding.
Reference Data
| TIFF Tag | Code | Type | Description |
|---|---|---|---|
| ImageWidth | 256 | SHORT/LONG | Pixel width of image |
| ImageLength | 257 | SHORT/LONG | Pixel height of image |
| BitsPerSample | 258 | SHORT | Bits per color channel (typically 8) |
| Compression | 259 | SHORT | 1=None, 5=LZW, 32773=PackBits |
| PhotometricInterpretation | 262 | SHORT | 2=RGB, 1=BlackIsZero |
| StripOffsets | 273 | LONG | Byte offset to image data strips |
| SamplesPerPixel | 277 | SHORT | Channels per pixel (3=RGB, 4=RGBA) |
| RowsPerStrip | 278 | SHORT/LONG | Rows in each data strip |
| StripByteCounts | 279 | LONG | Bytes in each compressed strip |
| XResolution | 282 | RATIONAL | Horizontal DPI (numerator/denominator) |
| YResolution | 283 | RATIONAL | Vertical DPI (numerator/denominator) |
| ResolutionUnit | 296 | SHORT | 1=None, 2=Inch, 3=Centimeter |
| Software | 305 | ASCII | Creating software identifier |
| DateTime | 306 | ASCII | Creation timestamp (YYYY:MM:DD HH:MM:SS) |
| ExtraSamples | 338 | SHORT | Alpha channel type (1=Associated, 2=Unassociated) |
| Predictor | 317 | SHORT | Horizontal differencing for LZW (2) |