📄 Free PDF Tool

Compress PDF Online — Free, Instant, Private

Reduce PDF file size without losing quality. Works entirely in your browser — no file upload, no account needed.

🔒 Files never leave your browser — 100% private
📄
Drop your PDF here
or click to browse — any size, free forever
📂 Choose PDF

-
Original
-
Compressed
-
Saved
let _file=null; function ev(e){e.preventDefault();} function handleFile(f){ if(!f||!f.name.endsWith('.pdf')){alert('Please select a PDF file');return;} _file=f; document.getElementById('fl1').innerHTML=`
📄
${escH(f.name)}
${fmtSize(f.size)}
`; document.getElementById('opts1').style.display='flex'; document.getElementById('act1').style.display='flex'; document.getElementById('res1').classList.remove('show'); } function resetTool(){_file=null;document.getElementById('fl1').innerHTML='';document.getElementById('opts1').style.display='none';document.getElementById('act1').style.display='none';document.getElementById('res1').classList.remove('show');document.getElementById('prog1').style.display='none';} async function compressPDF(){ if(!_file)return; const btn=document.getElementById('compbtn');btn.disabled=true; document.getElementById('prog1').style.display='block'; const setP=(p,t)=>{document.getElementById('pf1').style.width=p+'%';document.getElementById('pl1').textContent=t;}; setP(20,'Loading PDF...'); const ab=await _file.arrayBuffer(); setP(50,'Compressing...'); const doc=await PDFLib.PDFDocument.load(ab,{ignoreEncryption:true}); const out=await doc.save({useObjectStreams:true}); setP(100,'Done!'); const orig=_file.size,nw=out.byteLength,saved=orig-nw,pct=((saved/orig)*100).toFixed(1); document.getElementById('r1orig').textContent=fmtSize(orig); document.getElementById('r1new').textContent=fmtSize(nw); document.getElementById('r1saved').textContent=(saved>0?`-${fmtSize(saved)} (${pct}%)`:'Already optimised'); document.getElementById('res1').classList.add('show'); const blob=new Blob([out],{type:'application/pdf'}); const url=URL.createObjectURL(blob); document.getElementById('dlbtn').onclick=()=>{const a=document.createElement('a');a.href=url;a.download='compressed-'+_file.name;a.click();}; btn.disabled=false; setTimeout(()=>{document.getElementById('prog1').style.display='none';},800); }

How it works

1

Choose your PDF

Drop or click to select the PDF you want to compress.

2

Click Compress

Set image quality — 60% is recommended. Then click Compress.

3

Download

Your compressed PDF is ready in seconds. Click download.

Why use this tool?

100% Private — Your PDF never leaves your device. No uploads, no servers, no data collection.

Instant Processing — Compression happens in your browser — no waiting for server uploads.

Unlimited Free — No file size limits, no daily limits, no account needed. Ever.

Keeps Structure — Text, links, bookmarks and form fields are preserved during compression.

Frequently Asked Questions

Typically 20–70% reduction depending on how many images are in the PDF. Text-heavy PDFs compress less, image-heavy PDFs compress significantly more.
Text remains perfectly sharp. Images are slightly compressed. At 60% quality setting, the difference is invisible to the human eye on screen.
No. Since compression happens in your browser, there is no server-side limit. Any size PDF is supported.
Yes. Your PDF is never uploaded to any server. All processing happens locally in your browser using JavaScript. We have zero access to your files.

More Free Tools