Universal Document Viewer for the Web

Open-source, embeddable viewer for PDF, PPTX, and images — powered by a high-performance WebAssembly engine.

Runs entirely in the browser. No server required. No document upload.

$ npm install @docmentis/udoc-viewer

Why udoc-viewer

Built different, on purpose

A unified rendering engine designed for accuracy, performance, and embeddability — built specifically for modern web applications.

Unified Rendering Engine

Single engine for PDF, PPTX, and images. Consistent layout, no format-specific hacks. Powered by a custom WebAssembly engine written in Rust.

High-Fidelity Rendering

Accurate text, embedded fonts, vector graphics, EMF/WMF support.

Fully Client-Side

All rendering happens in the browser. No server required.

Embeddable by Design

MIT-licensed viewer layer with a clean JavaScript API.

See it in action

Try it right here

This is the actual viewer running live — not a screenshot. Open a PDF, switch documents, zoom, navigate pages.

Loading viewer...

Quick Start

Up and running in minutes

Three steps to embed the universal document viewer in your application.

1

Install the package

Add @docmentis/udoc-viewer via npm, yarn, or pnpm.

2

Add the component

Import and place the viewer element in your HTML or framework component.

3

Load a document

Pass a file URL or ArrayBuffer — the viewer handles the rest.

import { UDocClient } from "udoc-viewer";

const client = await UDocClient.create();
const viewer = await client.createViewer({
  container: document.getElementById("viewer"),
});

await viewer.load("/document.pdf");

Formats

Supported Formats

One viewer, multiple document types.

PDF

Full rendering with annotations and embedded fonts

PPTX

PowerPoint presentations with slides and shapes

Images

PNG, JPEG, TIFF, BMP, and more

DOCX

Word documents (coming soon)

XLSX

Excel spreadsheets (coming soon)

Licensing

Free Viewer for Commercial or Personal

Viewer

MIT License

Open-source and free for any project, commercial or personal.

WASM Engine

Free with the viewer

The rendering engine is free to use when embedded through the viewer.

Commercial

Custom licensing

Use the engine standalone, remove attribution branding, or get dedicated support.

Start embedding documents today

Free to embed. Powered by Rust and WebAssembly.