PDF Linearization
PDF linearization (also called Fast Web View) is a file organization method that rearranges PDF internals so the first page can be displayed before the entire file downloads. Linearized PDFs place the document catalogue, first-page resources, and a hint table near the beginning of the file, allowing progressive rendering over HTTP.
PDF linearization — also called <em>Fast Web View</em> in Adobe's terminology — is a specific reorganisation of a PDF file's internal structure that enables progressive rendering: the first page of a PDF can begin displaying in a browser before the entire file has finished downloading. Without linearization, a browser must download the complete PDF file before it can display any page, because the <a href="https://pdftheguide.com/glossary/pdf-cross-reference-table" target="_blank" rel="noopener">cross-reference table</a> or <a href="https://pdftheguide.com/glossary/pdf-cross-reference-stream" target="_blank" rel="noopener">cross-reference stream</a> that maps all objects is located at the end of the file.
A linearized PDF places a special <strong>linearization parameter dictionary</strong> near the beginning of the file, followed by the objects needed to render the first page, followed by <strong>hint tables</strong> that record the byte offsets of all subsequent pages. This structure allows HTTP byte-range requests to fetch only the data needed for the currently viewed page — a fundamental improvement for large, multi-page PDFs served over the web.
The linearization structure
A linearized PDF has its contents arranged in a specific order required by the PDF specification:
<strong>1. File header</strong> — <code>%PDF-2.0</code> (or appropriate version) followed by a binary marker comment.
<strong>2. Linearization parameter dictionary</strong> — A stream or dictionary object near the beginning (within the first 1024 bytes, per specification) that identifies the file as linearized and provides essential navigation data: - <code>/Linearized 1</code> — Identifies this as a linearized PDF - <code>/L</code> — Total file length in bytes (allows detection if the file has been modified post-linearization) - <code>/H</code> — Byte offsets and lengths of the primary and overflow hint streams - <code>/O</code> — Object number of the first page's page object - <code>/E</code> — Byte offset of the end of the first-page section - <code>/N</code> — Number of pages in the document - <code>/T</code> — Byte offset of the main cross-reference table/stream
<strong>3. First-page cross-reference section</strong> — A cross-reference table or stream covering only the objects needed to render the first page.
<strong>4. First-page objects</strong> — All objects required to render page 1: the page object, content stream, fonts, images, and annotations, placed contiguously.
<strong>5. Hint streams</strong> — The page offset hint table and shared object hint table, which record the byte offsets and sizes of all page objects. These enable byte-range requests for any page.
<strong>6. Remaining pages and shared objects</strong> — All other pages and shared resources follow.
<strong>7. Main cross-reference section</strong> — The complete cross-reference near the end enables full random access once the file is completely downloaded.
Verification and creation
<strong>Checking if a PDF is linearized</strong>: - Open in Adobe Acrobat Pro: File > Properties > Description > "Fast Web View: Yes" - Hex/text inspection: search for <code>/Linearized</code> in the first ~1024 bytes - Command-line: <code>qpdf --check file.pdf</code> reports linearization status and validity - Ghostscript: <code>gs -dBATCH -dNOPAUSE -sDEVICE=nullpage -c "(file.pdf) (r) file runpdfbegin linearized? ="</code>
<strong>Creating linearized PDFs</strong>: - qpdf: <code>qpdf --linearize input.pdf output.pdf</code> (most reliable open-source option) - Ghostscript: <code>gs -dBATCH -dNOPAUSE -sDEVICE=pdfwrite -dFastWebView=true -sOutputFile=out.pdf in.pdf</code> - Acrobat Pro: File > Save As > PDF with "Optimized for Fast Web View"
<strong>Important caveat</strong>: Linearization is destroyed when a PDF is modified with incremental updates. Any tool that appends content to the end of a linearized PDF (the default save behaviour in most editors) produces a non-linearized result. A full rebuild ("Save As" rather than "Save") is required to maintain or re-establish linearization after editing. For PDFs served from web servers, re-linearize as a post-processing step in the publication pipeline.
Frequently asked questions
Does linearization improve PDF load speed for all files?
Linearization significantly improves perceived load speed for large PDFs (multi-megabyte files) served over the web, because the first page can display before the entire file downloads. For small PDFs (under ~200 KB), the entire file typically downloads before the browser renders anything anyway — the download completes in under a second on typical connections, and linearization provides no perceptible benefit. The performance improvement also depends on the server supporting HTTP byte-range requests (which all major hosting platforms do) and the client PDF viewer implementing byte-range fetching (Chrome and Firefox do). For PDFs downloaded as files rather than displayed inline in a browser, linearization provides no benefit.
Is linearization the same as Fast Web View?
Yes. "Fast Web View" is Adobe's marketing term for PDF linearization, used in the Acrobat Pro interface and Properties dialog. The technical term in the PDF specification (ISO 32000) is "linearization" or "linearized PDF". Both refer to the same file structure — the reorganisation of PDF objects to enable first-page progressive rendering over HTTP. When Adobe Acrobat reports "Fast Web View: Yes" in File > Properties, it means the PDF is linearized. The hint tables and linearization parameter dictionary described in the PDF specification are the technical implementation of what Acrobat calls Fast Web View.