pdf file size

Where the bytes
in your PDF go.

Open a PDF and see what it is made of: how much of it is images, how much is embedded fonts, and how much is everything else. Every figure is a stream length read off your file — nothing is decoded and nothing is re-encoded. It runs in your browser, so the file never leaves your device.

Drop a PDF here, or choose one

PDF

Questions

Can this make my PDF smaller?

No, and it deliberately does not offer to. Three real documents were measured before this page was built. A government form contained no image streams at all, so nothing could be re-encoded. A paper full of diagrams got 12% larger when its images were converted to JPEG, because deflate already compresses line art better than JPEG does. Only the third shrank, and only by halving the resolution of its figures. A tool promising a saving would have been wrong about two of the three.

What does the filter column mean?

It is how each image is compressed inside the file. DCTDecode means a JPEG carried whole — the file holds the same bytes a .jpg would. FlateDecode means deflated raw samples, which is what charts, screenshots and diagrams usually are. The distinction matters more than it sounds: every image in all three documents measured for this page was FlateDecode, and not one was a JPEG.

Why do the parts not add up to the file?

They do, and the third row is how. Images and embedded fonts are the two parts that can be identified from their own dictionaries; everything else — the content streams that draw each page, the metadata, the cross-reference table — is reported as everything else rather than shared out over the two named rows. A breakdown whose rows summed to the file exactly would be hiding those bytes rather than measuring them.

My fonts row says zero. Does the file have no fonts?

It has no *embedded* ones. A PDF can name one of fourteen standard fonts — Helvetica, Times, Courier and their variants — and carry none of it, leaving the reader to supply the typeface. Those cost no bytes, which is why the row can honestly read zero on a document full of text. A font only appears here when the file carries the program itself.