It streams. Pages are fetched via HTTP range requests on demand, so a 200-page document opens in a few hundred kilobytes and pages load as the viewer scrolls.
Preview
Props & interactive options
| Prop | Type | Default | Description | Try it |
|---|---|---|---|---|
| page | url param | 1 | Page shown when the viewer opens. |
|
| enable_download | url param | 0 | Expose the download button. |
Browsers block autoplay with sound. Enabling
auto_play automatically enables muted so playback can start; viewers can then unmute manually.
Documentation
The simplest PDF viewer setup: page counter, previous/next buttons, and a jump-to-page input. Expose the download button when you want viewers to save the document, or keep it hidden for read-only embeds.
Code
HTML
Frequently asked questions
Yes — use start_page=N on the embed URL. The viewer also updates its hash as the reader scrolls, so sharing the iframe URL preserves the current page.
Kept as-is. Videas uses PDF.js to render the original file on a canvas, with an invisible text layer on top for selection and screen readers. No conversion, no loss of fidelity.