OpenFileViewer Component
Ship quickly with toolbar, themes, multi-file queues, responsive containers and tested fallbacks.
$ npm install @open-file-viewer/core
A framework-agnostic embedded file viewer for vanilla JavaScript, React, Vue and Svelte. Put PDF, Office, images, media, archives, email, drawings, 3D, GIS and engineering files inside one stable container.
Two ways to integrate
Ship quickly with toolbar, themes, multi-file queues, responsive containers and tested fallbacks.
$ npm install @open-file-viewer/core
Attach custom renderers, WASM pipelines or server-converted output while React, Vue, Svelte and vanilla JS share one core.
plugins: [pdfPlugin(), officePlugin(), customPlugin()]
PDF, Office, OFD, EPUB, XPS, image, media, archive, email, CAD, GIS, 3D and text plugins are ready to use.
Vanilla JavaScript, React, Vue and Svelte share the same core so teams can reuse one preview strategy across products.
Every preview stays inside your DOM container with resize handling, dark mode, downloads and error boundaries.
Drop-in Integration
Pick Vanilla JS, React, Vue or Svelte. The plugin capability stays consistent, while the UI can start default and evolve later.
Try it live
Local files stay in your browser and are not uploaded. Built-in samples cover Markdown, JSON, Office, SVG, DXF, 3D, GDSII, OASIS and DWG.
Format matrix
API Reference
The API stays focused: container, file, plugins, size, theme and lifecycle callbacks. Complex formats are extended through plugins.
Installation and integration guidance for Vanilla JS, React, Vue and Svelte.
PreviewOptionsComplete reference for file sources, queues, sizing, themes, callbacks, fallbacks and instance methods.
Toolbar CustomizationChange labels, order, icons, approval/favorite/share actions or replace the toolbar completely.
Plugin ProtocolExtend custom formats, server-converted results or product-specific renderers through the match/render protocol.
Start from a stable container and keep evolving preview capability.