Warning
EmbedPDF v3 is under active development and is not yet recommended for production use. For the current stable release, use the v2 branch.
EmbedPDF is a framework‑agnostic, Apache‑2.0‑licensed PDF viewer that drops into any JavaScript project. Whether you build with React, Vue, Svelte, Preact, or vanilla JS, EmbedPDF delivers a smooth, modern reading experience and a clean developer API.
Full docs, installation guides, API reference, and examples:
Try it now — load your own PDF or use the sample:
We are grateful for the support of our sponsors!
- Annotations (highlight, sticky notes, free text, ink)
- True redaction (content is actually removed)
- Search, text selection, zoom, rotation
- Smooth, virtualized scrolling
- Pluggable architecture & tree-shakable plugins
We love contributions! To get started, read our contributing guide and jump into the GitHub discussions.
Everything in this repository is licensed under the Apache License, Version 2.0, with one exception: cloudpdf/server — the self-hostable CloudPDF server — is Fair Source, under the Fair Core License, FCL-1.0-ALv2. Its source may be inspected, copied, and modified for purposes permitted by the FCL. That does not make the server free to run: while a release remains under the FCL, running or self-hosting it requires a valid CloudPDF license (a license key for a connected deployment or a signed certificate for an air-gapped deployment). You may not move, change, disable, or circumvent the license-key functionality; enable protected functionality without a valid license; or remove protected functionality. Competing Uses, as defined in the FCL, are also prohibited. Each release automatically becomes Apache-2.0 two years after publication. See LICENSING.md for the full licensing map, including website content.
The engine is powered by EmbedPDF Runtime, our fork of PDFium, which is licensed under the Apache License, Version 2.0. PDFium is a Google project; EmbedPDF is not affiliated with or endorsed by Google.






