fits

How fits compresses PDFs without ever seeing them

Drop a PDF onto fits.tools, pick a size, get a smaller PDF back. It looks like every other PDF compressor on the web — except this one doesn’t upload your file anywhere. The compression runs in your browser, on the same tab you’re already on, and you can watch a counter at the bottom of the page tick at zero the entire time.

If you’re wondering how that’s possible, or whether it’s a marketing trick, the short answer is: it isn’t a trick, and the rest of this page is the long answer.

What happens when you drop a PDF

Four things, in order:

  1. You drop the PDF.Your browser hands fits the bytes locally. Nothing is sent anywhere yet — and never will be.
  2. fits looks inside the file.It counts the pages, measures the images, and figures out roughly what each compression target will produce before you click anything. That’s why every chip already shows you an estimated output size.
  3. You pick a target.The chips are tailored to where you are — Aadhaar (200 KB) in India, USCIS (2 MB) in the US, UKVI (2 MB) in the UK, Receita Federal (2 MB) in Brazil, plus an email-friendly chip and a Custom option for any specific number you need. fits compresses to fit your chosen ceiling — never more aggressively than it has to.
  4. You get the smaller PDF back. Save it, share it, QR-beam it to another device, or preview it first. The file lives in your browser. It never went anywhere.
How fits compresses PDFs in four stepsA horizontal flow with four labeled steps: Drop, Predict, Compress, Send. The Compress step is highlighted as the main act.1Drop2Predict3Compress4Send

The “no upload” claim, explained

Most PDF compressors work like this: you upload the file to their server, the server compresses it, the server sends it back to you. The privacy story depends on trusting that the server doesn’t keep a copy.

fits skips the server entirely.

When you visit fits.tools, your browser downloads a small program that knows how to compress PDFs. That program runs in the same tab the page is in. When you drop a file, the program processes the bytes right there. The output is written to a temporary spot in your browser’s memory, and when you click Save it lands in your Downloads — same as if you’d saved any other file.

No request to a server. No “we’ll delete it after 30 minutes” promise. There’s nothing to delete because there’s no copy.

The compression program itself is downloaded once on your first visit (about 3 MB on a fresh load) and cached by your browser, so return visits start instantly.

What makes a PDF small

A PDF is made of three kinds of content stacked on top of each other:

  1. Images— photos, scans, logos. These are by far the biggest contributor to file size. A single high-resolution photo can be a megabyte by itself.
  2. Text and vector graphics— the actual words you can select and copy, plus any line drawings. Tiny by comparison.
  3. Structure— fonts, page metadata, an index of where everything lives.

fits shrinks all three, in three different ways.

For images, fits downsamples them. A scan at 600 DPI looks identical at 150 DPI on a phone screen, but uses a quarter of the storage. fits picks a resolution based on the target size you chose: tight ceilings (visa portals, government forms) get more aggressive downsampling, generous ceilings (email, chat) keep more detail. Text on the page is untouched — it stays vector and stays crisp.

For text and vector graphics, fits doesn’t really need to do much. They were small to begin with.

For structure, fits dedupes anything that appears twice (some PDFs embed the same font five times), removes hidden metadata that the writer left behind, and re-encodes the file’s index so it takes less room.

Real numbers for a typical document:

Picking the right size

After you drop a PDF, fits shows you a row of chips. Each one represents a real-world ceiling — usually for a specific portal, app, or form. The chip set is tailored to where you are.

If you’re in India, you’ll see chips for Aadhaar (200 KB), a generic Govt form chip (100 KB) for UPSC / SSC / similar exam portals, Income Tax filing (2 MB), and Visa portal (2 MB).

If you’re in the US, you’ll see DS-160 (2 MB) for visa supporting documents, USCIS (2 MB) for immigration forms, IRS e-file (4 MB), and Common App (1 MB) for college applications.

If you’re in the UK, you’ll see UKVI (2 MB), HMRC (5 MB), NHS (5 MB), and UCAS (1 MB).

If you’re in Brazil, you’ll see Receita Federal (2 MB), Detran (1 MB), Concurso (500 KB), and Passaporte (1 MB).

If you’re in Indonesia, you’ll see CPNS (300 KB), Imigrasi (1 MB), e-Filing Pajak (1 MB), and KYC Bank (500 KB).

Anywhere else(or in the EU), you’ll see Email (10 MB), Chat (5 MB), a generic Form chip (200 KB), and Schengen visa (700 KB — EU residents don’t see this one since they don’t need it).

Three chips appear in every region: Tiny(under 500 KB) for “I just need it small,” Resume (1 MB) for job applications, and Half, which targets exactly half your input file’s size. Plus a Custom chip if you need a specific number — type in megabytes and fits aims for it precisely.

Before you click, each chip shows you the estimated output size for yourfile. That estimate comes from a quick analysis fits runs in the background as soon as you drop the file — it samples your largest image and figures out what each compression target will produce.

The chip whose ceiling is smallest below your file’s size auto-selects. You can pick a different one with one click.

Why this is private

Two structural reasons, in order of weight:

There’s no upload step.fits.tools is a static website. The pages you see were built once and served from a content delivery network — no server on our end ever sees your file. The compression program runs inside your browser tab, on the bytes already in your memory. There’s nothing to leak because there’s no copy to leak.

The byte counter is the receipt.At the bottom of every page, you’ll see “↑ 0 B of your file sent.” That number reads from the browser’s actual network measurements. It can’t lie — if anything tried to upload your file, the number would tick up.

No accounts, no email collection, no file storage. We do use Google Analytics and Google Ads conversion measurement to understand how the site is used and which ad campaigns work — if you’d rather not be counted, decline the cookie banner on your first visit. Declining keeps the “0 B of your file sent” promise unchanged; only the file privacy is structural, the analytics is by disclosure. The privacy policy spells out exactly what each cookie does.

Common questions

What's the largest file fits can handle?
Practically, around 500 MB on most modern phones, and 2 GB or more on desktops. The limit is your browser’s available memory, not fits itself — very large files can run out of memory mid-compression on lower-end devices.
Does it work offline?
Not yet — an internet connection is required to load the page and the compression engine (about 3 MB). Offline support (via Service Worker) is on the roadmap; once shipped, you’ll be able to compress files with no connection after your first visit.
Which browsers are supported?
Any browser from the last three years on desktop and mobile — Chrome, Safari, Firefox, Edge. fits uses standard web technology that has been universal since 2017.
What if my file is a Word document or a JPG?
fits is PDF-only today. For Word, export to PDF first from your editor. For images, squoosh.app is an excellent browser-based image compressor that follows the same privacy model — drop in, compress locally, no upload.
Is my file ever cached or kept anywhere?
No. Your browser holds the file in memory while you’re compressing, and the compressed output stays in memory until you click Save (which writes it to your Downloads folder) or close the tab (which discards everything). No persistent storage is touched.
Can fits hit any size I ask for?
Almost. The Custom chip aims for your exact target. Very small targets sometimes hit a quality floor — text needs to stay readable — and fits will warn you if the result couldn’t quite reach your number. PDFs that are already image-light may not compress meaningfully no matter the target.
What about password-protected PDFs?
fits can’t open them. Remove the password in a PDF viewer first, then run it through fits. We don’t ask for your password and we never will — there’s no input field for one.
Is the source code available?
fits is built on open-source tools (notably MuPDF for the PDF compression work), but the fits.tools app code itself isn’t currently open source. That may change.

Try it

If you’re ready, drop a PDF on the homepage — the compressed file comes back in seconds, and the “your file sent” counter at the bottom stays at zero the whole time.

0 B of your file sent·0 B (page + engine)·