Compress · nothing uploaded
Shrinks the images inside your PDF and leaves the text as text. Most free compressors quietly flatten every page into a picture, which is why your document comes back unsearchable and slightly fuzzy. This one shows you exactly what it changed.
Lower is smaller. Below about 60% you start to see it on photographs.
Compressed on your own machine — the file never left it. Kagaz is free and open source, built by Amit Jena in India.
Almost always, images. A page of text is a few kilobytes; a photograph someone pasted in from a phone is four megabytes, and it is sitting in there at full camera resolution even though it is printed two inches wide. Scanned documents are the same story — every page is a photograph of a page.
So the honest way to compress a PDF is to find those images, shrink them to a resolution that actually matters at the size they are displayed, re-encode them, and put them back — leaving everything else alone. That is what shrink images does here.
Walks through every image embedded in the document, downsamples anything larger than your chosen detail level, re-encodes it as a JPEG, and swaps it back in place. Text stays text. Vector graphics stay sharp. Links and bookmarks survive. Typical savings on an image-heavy document are 50–90%.
Rewrites the file's internal structure — packs objects more efficiently, drops orphaned data, strips editing metadata and page thumbnails. Nothing is re-encoded, so nothing can degrade. The saving is modest, usually 5–20%, and sometimes almost nothing. Use it when the document must be preserved byte-for-byte in appearance.
Renders every page to a JPEG and builds a new PDF out of those pictures. This gives the largest reduction and is the right choice for a scanned document that is already nothing but images. It also destroys text: you will not be able to select, search or copy anything afterwards, and screen readers will find an empty document. Kagaz asks before doing this. Most other tools do it silently and call it "compression".
Some images cannot be safely re-encoded in a browser, and Kagaz would rather skip them than corrupt your file to make a number look better. It reports each one:
Supporting more of these is exactly the kind of contribution the project wants. They are written up on the contribute page.
No. There is no server. Watch the Network tab in your developer tools if you would like to confirm it.
Most likely it contains no images, or the images are in one of the formats listed above. The report after each run tells you which.
You can, but you mostly should not. Re-encoding a JPEG that has already been re-encoded adds visible damage without saving much. Lower the quality slider instead.