| Platform | Recommended Viewer | |----------|--------------------| | Windows | or IrfanView (supports next/prev page) | | macOS | Xee or Preview (sometimes limited) | | Linux | GIMP , nomacs , or ImageMagick | | Web | Load into a JS library like tiff.js or convert to PDF | Pro tip: Use ImageMagick in the terminal to quickly check a multi-page TIFF:
for i in range(tiff.n_frames): tiff.seek(i) tiff.save(f"page_i+1.png") # extract each page as PNG print(f"Saved page i+1") Many default image viewers only show the first page . Here’s what works well: multi page tiff sample
Share it in the comments below! Enjoyed this post? Subscribe for more deep dives into document formats, imaging tools, and programming tips. Subscribe for more deep dives into document formats,
With the Python samples above, you can start creating and processing them in minutes. And if you ever need to peek inside a multi-page TIFF without coding – ImageMagick and IrfanView are your best friends. pip install Pillow from PIL import Image import
pip install Pillow from PIL import Image import os List of image files (PNG, JPEG, or single-page TIFFs) image_files = ["page1.png", "page2.png", "page3.png"] Open all images images = [Image.open(f).convert("RGB") for f in image_files] Save as multi-page TIFF images[0].save( "output_multipage.tiff", save_all=True, append_images=images[1:], compression="tiff_lzw", dpi=(300, 300) )
print(f"Number of pages: tiff.n_frames")
print("Multi-page TIFF created: output_multipage.tiff") from PIL import Image Open existing multi-page TIFF existing = Image.open("original.tiff") Load all existing pages pages = [] for i in range(existing.n_frames): existing.seek(i) pages.append(existing.copy()) New page (e.g., a signature page) new_page = Image.open("signature.png").convert("RGB") pages.append(new_page) Save back as multi-page TIFF pages[0].save( "appended.tiff", save_all=True, append_images=pages[1:], compression="tiff_lzw" ) How to Read / Extract Pages from a Multi-Page TIFF from PIL import Image tiff_path = "document.tiff" tiff = Image.open(tiff_path)