Themes & composition
Light and dark themes out of the box. Compose toolbar, sidebar, and viewer the way your product needs.

LumiPDF is a high-performance pdf viewer with virtualized rendering, search, annotations, and a clean TypeScript API. Built on PDF.js.
A focused React PDF viewer - high-performance rendering, search, annotations, and a developer-friendly API.
Virtualized rendering that stays smooth at scale.
PDF.js under the hood - zoom, search, and navigate thousand-page documents without jank.
Light and dark themes out of the box. Compose toolbar, sidebar, and viewer the way your product needs.
Runs fully client-side. Documents stay in the browser - no backend required to render or search.
Ship a full PDF experience with a single component. TypeScript types, hooks, and gradual-migration helpers included.
Docs
Installation, quick start, annotations, theming, and a full DocumentViewer reference - structured like the docs you already know from other React libraries.
import { DocumentViewer } from "lumipdf";
import "lumipdf/styles";
// Drop-in viewer
export function App() {
return (
<DocumentViewer
source={{ kind: "url", url: "/report.pdf" }}
theme="light"
/>
);
}Support
LumiPDF is free and open source. Get help from the docs, report issues on GitHub, or contribute improvements.
Need a deeper dive?
Start with the support guide in the documentation.