PDF EMBEDS

Embedded PDF Viewer Tools

Turn a public PDF URL into a viewer link or copy the iframe code for your website.

01 / VIEWER GENERATOR

Enter one public PDF URL.

We build the links in this tab. Your URL is never submitted to PDF.CAB.

The file must be publicly reachable. Private, signed, or expiring links may not work in third-party viewers.

Fastest route

Browser native

Send the file straight to the PDF viewer already built into the visitor’s browser.

Generated URLEnter a PDF URL above to generate

Best when the PDF server permits inline display.

Open ↗

Hosted viewer

Google ViewerNG

Wrap a public PDF URL in Google Drive’s lightweight document viewer.

Generated URLEnter a PDF URL above to generate

Third-party service. Availability and behavior can change.

Open ↗

Legacy route

Google GView

Create the long-used Google Docs Viewer URL for a publicly reachable PDF.

Generated URLEnter a PDF URL above to generate

Open or copy the URL; cross-site framing is not reliably allowed.

Open ↗

Open-source viewer

Mozilla PDF.js

Try the hosted PDF.js viewer with a fully encoded file parameter.

Generated URLEnter a PDF URL above to generate

The PDF host must allow CORS. Use a self-hosted PDF.js build in production.

Open ↗

More control

Adobe PDF Embed API

A customizable JavaScript viewer with multiple embed modes. It requires a free client ID and sends the document through Adobe’s viewer environment.

Adobe integration guide ↗

Progressive fallback

PDFObject

A small JavaScript helper for native browser embeds, PDF.js fallback, and download links when inline viewing is unavailable.

PDFObject documentation ↗

ROUTE NOTES

Before you flag down a viewer.

Does PDF.CAB upload or proxy my PDF?

No. The generator transforms the text of your URL inside your browser. PDF.CAB does not receive, fetch, store, or inspect the document.

Why does a generated viewer sometimes fail?

The source file must be public and reachable by the selected service. Authentication, bot protection, expired signatures, CORS rules, and viewer-side limits can all block a document.

Which route should I try first?

Use the browser-native URL for the smallest dependency surface. Try ViewerNG for a hosted viewing wrapper, and use a self-hosted PDF.js build when you need control over the interface.