Why does extracting every page from a TIFF take so long?

Because a TIFF can hold a whole stack of pictures, and every page you pull out has to be unpacked and saved as its own PNG.

Here's where the wait goes, and how to skip most of it when page 1 is all you need.

What happens to each page when you extract a TIFF?

Think of a multi-page TIFF as a binder with a separate picture on each sheet. Opening the binder is quick. Making a copy of every sheet is the slow part, and you do it once per sheet.

Extracting works the same way. Each page has to be unpacked into a full picture and then saved as its own PNG file, one page after another.

FluffyBench reads the TIFF once, then runs the same two jobs for every page you ask for.

A TIFF at the top is read once. Arrows lead to Page 1, Page 2 and Page 3, and each page goes through its own Unpack box and its own Save PNG box. All the PNGs land in a tray labelled: finished PNGs wait here until the run ends.

One read, then unpack and save for every page

  1. Read once

    Opening and reading the file happens once per run.

  2. Repeats for every page

    Unpacking a page and saving it as a PNG is the part that repeats.

  3. Held until the end

    The finished PNGs stay in the browser's memory until the whole run is done.

Twice the pages means twice the unpacking and saving. Sources and measurement notes

Those waiting PNGs take up memory too, so a very long stack holds a lot at once. For a look at how picture memory can pile up in a browser, see how memory grew during a Firefox photo batch.

What changes when you extract the first page instead of every page?

Here's a real example: a 100-page test TIFF of text pages, built to look like a scanned report. Pulling out page 1 took about a quarter of a second. Pulling out all 100 took about 14 seconds, because the unpack-and-save round ran 100 times.

Here's that same 100-page TIFF, extracted two ways.

Page 1 only · 1 PNG
226 ms
Every page · 100 PNGs
13,975 ms
Same file, same computer; only the number of pages asked for changed.

Where did the 14 seconds go? Most of it went on unpacking the pages.

Read the file and find the pages
15 ms
Unpack every page
10,640 ms
Save every PNG
1,875 ms
Reading the file barely registers. The three steps don't add up to the whole run, because the time in between wasn't broken out.

Why do TIFF files and devices change the wait?

FluffyBench's extractor used to reread the whole TIFF for every page. It now reads it once, and how much that saved depends on what's inside the file.

Here's that change on two very different TIFFs on a computer, and on a phone.

100-page text TIFF, compressed

Reread for every page
19,075 ms
Read once
13,975 ms

24-page color TIFF, uncompressed (about 626 MB)

Reread for every page
14,018 ms
Read once
2,671 ms

A similar 100-page job on a phone

Reread for every page
64.4 s
Read once
42.4 s
The two computer rows share one time scale; the phone row has its own. Each row is one earlier test of one file.

A big uncompressed TIFF spent most of its time being read, so reading it once cut the wait from about 14 seconds to under 3. A compressed text TIFF spends its time unpacking pages, so the same change saved about a quarter. On a phone, a similar 100-page job still took the better part of a minute after the change.

Extracting TIFF pages in FluffyBench's Image Extractor

If page 1 is all you need, choose One image per file: for a TIFF, that's page 1 only, the quick run from the example above. For any other page, choose Everything inside and save just the tile you want.

Here's the whole job in FluffyBench's Image Extractor, from picking the TIFF to saving its pages.

  1. Image Extractor's drop area with the Choose files button.
    Image Extractor's drop area with the Choose files button.
    Step 1. Drop the TIFF on the box, or pick it from your device.
    1. Choose files opens your file picker.
  2. The Take control with Everything inside selected and One image per file beside it.
    The Take control with Everything inside selected and One image per file beside it.
    Step 2. Under Take, decide how much of the TIFF you want.
    1. Everything inside makes a PNG of every page.
    2. One image per file makes a PNG of page 1 only.
  3. The Extract button, ready once the TIFF is added.
    The Extract button, ready once the TIFF is added.
    Step 3. Press Extract and let the run finish.
    1. Extract starts the run.
  4. The finished TIFF card: the file reads TIFF, 2 pages, with a Download 2 button and a tile for each page with its size and its own Download link.
    The finished TIFF card: the file reads TIFF, 2 pages, with a Download 2 button and a tile for each page with its size and its own Download link.
    Step 4. Each page comes back as its own tile. Save one page or the whole set.
    1. The card shows how many pages the TIFF holds.
    2. Page 2, its size, and a Download for just that page.
    3. Download 2 saves every page together as one ZIP.

Keep the original TIFF if its exact colors or metadata matter to you. Each PNG holds 8 bits per color channel, the everyday level for photos on the web. If a page stores richer color than that, its tile shows a warning. Which bytes an extractor copies and which it rebuilds is covered in its own guide.

Need to extract one page or every page from a TIFF?

Search FluffyBench