Yes — the Compress PDF tool preserves text and links for every part of the document it leaves unchanged, because it re-encodes only eligible embedded JPG image streams rather than rasterizing whole pages. A common reason people hesitate to compress a PDF at all is that several popular online and offline compressors turn each page into a flat JPEG, which destroys the selectable text layer and breaks every clickable internal or external link in the file. This tool takes a narrower path. It loads one local PDF up to 25 MB in your browser, scans the page tree for image XObjects that meet a specific filter and color rule, and re-encodes only those image streams to a tighter payload. Page descriptions, text objects, link annotations, form widgets, vector drawings, document metadata, and the page count itself are read but not rewritten. The document you get out is structurally the same one you put in — it is simply lighter where the embedded JPGs could be replaced with a smaller stream at the same indirect reference, and the change is verified locally before any download link is shown.

Why "Text and Links" Is the Right Question to Ask
Most PDF compression complaints filed online come down to two things: the selectable text layer disappeared, or the clickable links stopped working. Both usually share a single cause — the compressor rasterized each page into a flat image before re-wrapping it in a new PDF. That step is invisible to the user, but it converts every text object, vector path, form widget, and link annotation into painted pixels. Once a page has been rasterized, the file is effectively a screenshot with a .pdf extension.
This tool takes a different route. It loads one local PDF and inspects the page tree to find image XObjects that can be replaced with a smaller JPEG encoded in your browser. The PDF's text strings, link annotations, form fields, vector objects, and metadata are read only — they are not re-rendered. That is why asking whether the Compress PDF tool preserves text and links is the right question to ask before using any compressor: it forces you to separate tools that re-encode embedded images from tools that flatten pages, and the two groups have very different outcomes for the structure of your document.
What the Compress PDF Tool Actually Changes
The Compress PDF tool does three things and only three things to your PDF, all of them inside the current browser tab:
- It enumerates image XObjects in the loaded PDF and allows only those whose image stream uses the DCTDecode filter, DeviceRGB or DeviceGray color, and no custom decode parameters.
- It decodes each allowed JPG through an HTML image element, downscales the longest side to 1400 pixels, and re-encodes the result as a JPEG at quality 0.70.
- If the new JPG is actually smaller than the original byte stream at the same indirect reference, it replaces the stream at that reference. If it is not smaller, the original image is kept verbatim.
Anything that does not match the filter rule — JPXDecode (JPEG 2000), CMYK color, Indexed color, masked images, ImageMask images, or streams with custom decode parameters — is left exactly as it was. When none of the eligible streams end up smaller, the tool returns an honest error rather than handing back a file with a smaller number on a flattened page. This narrow behavior is what protects your text and links while still trying to cut bytes from the embedded images.
How to Compress a PDF Without Losing Links
For a photo- or scan-heavy PDF, the workflow below keeps every text string and link annotation in place while still producing a smaller file when the source JPGs are large:
- Open the Compress PDF tool in your browser. Nothing is installed and nothing is uploaded to a server.
- Choose one local PDF up to 25 MB from your device. Larger files should be split first or handled with a desktop optimizer that targets streams this tool does not touch.
- Select Compress PDF and wait while the browser enumerates the image XObjects, re-encodes the ones that pass the filter, and compares each candidate to its source stream.
- Read the reported input and output sizes shown above the download link. If the output is smaller, the file was reopened and verified to have the same page count as the source before any download link is shown.
- Download the verified PDF and re-open it in your normal viewer to confirm that text is selectable and that internal and external links still resolve.
Because the page objects, annotation arrays, and content streams for text are never rewritten, a PDF that was already searchable and link-rich stays that way. The only field that visibly changes is the embedded JPG payload at a handful of indirect references.
What Gets Preserved and What Gets Replaced
The table below summarizes what the Compress PDF tool does to each common element of a PDF document, drawn directly from its verified filter rules:
| PDF Element | What the Compress PDF Tool Does |
|---|---|
| Selectable text objects | Read only — never re-encoded or rasterized |
| Internal and external link annotations | Preserved by reference; the link array is not rewritten |
| Form widgets and field data | Left in place; form appearance streams are not re-rendered |
| Vector drawings and line art | Not touched; no path tracing or rasterization is performed |
| Document metadata (title, author, XMP) | Carried over from the source PDF |
| Page count and page rotation | Identical to the source |
| Eligible embedded JPGs (DCTDecode, DeviceRGB/DeviceGray, unmasked) | Re-encoded at 1400 px longest side, JPEG quality 0.70, only if smaller |
| JPXDecode (JPEG 2000), CMYK, Indexed, masked, ImageMask, decode-parameter JPGs | Skipped — original stream stays in the file |
When Text and Links Survive but the File Will Not Shrink
Preserving text and links is the easy case — the tool does it by default. The harder case is when you want a smaller file and the answer is "no, not here." A handful of real situations drive that:
- The PDF has no embedded JPG images at all — for example, a contract built from fonts and vector shapes only, or a text-only export from a word processor. There is nothing for the tool to re-encode, so the output equals the input.
- The PDF contains only scan pages saved as JPEG 2000 (JPXDecode) rather than baseline JPEG. The filter rule excludes them, so the file size cannot drop through this path.
- The scanned pages are CMYK or carry an ImageMask or stencil. These are skipped because changing the color model or the mask could alter how the page prints or how assistive tools read it.
- The eligible JPGs are already close to the 1400 px / quality 0.70 target. If the new stream is not byte-for-byte smaller at the same indirect reference, the tool keeps the original, and the output size does not move.
In each of these cases, the tool surfaces a clear error rather than handing back a file with a smaller number attached to flattened content. The text and links still survive; the size simply does not shrink.
Verifying the Output Yourself
The tool reopens the rebuilt PDF with a PDF.js renderer in the same tab before exposing the download link, so a malformed result never reaches you. Still, a quick second check on your own viewer is cheap and worth doing for any document you plan to file, share, or archive.
Three checks cover most preservation worries. First, try to select a word in the body of any page — if the cursor becomes a text-selection I-beam, the text layer survived. Second, hover over a hyperlink in the table of contents or in the body — if the URL preview appears or the cursor changes to a pointer, the link annotation is still attached to the right page region. Third, fill one form field if the PDF has any — the field highlight should appear and the value should save with the file. If all three behave like the source document, the compressor did exactly what it claims.
For a stricter cross-check, the PDF Link Extractor enumerates external and internal link annotations by page, so you can compare the source list with the output list. A match on every link and a difference only in image streams is the expected outcome and confirms that no link was rewritten or lost during compression.
If You Need a Smaller File and This Tool Cannot Get You There
The Compress PDF tool is deliberately narrower than a general-purpose PDF optimizer. It will not perform arbitrary stream recompression on fonts, will not downsample JPX or CMYK images, will not flatten transparency into white pixels, and will not guarantee a target byte count. When those limits are the bottleneck, the standard response is to keep the original, decide which pages or sections actually need to be smaller, and send them through a specialist desktop tool that exposes the full compression settings — useful for arbitrary stream compression, archival conformance, or print color management.
For the everyday case of a few high-resolution JPG scans inflating an otherwise tiny document, this local tool is the safer default because it leaves the structures your readers depend on exactly where they were. The combination — eligible streams replaced, every other byte untouched, output verified before download — is what the answer to "does the Compress PDF tool preserve text and links" actually relies on.
Related reading: Simplify the Process to Compress a PDF to a Target Size.