The Universal Viewer is a community-developed open source project on a mission to help you share your content with the world
JavaScript TypeScript CSS HTML
Clone or download
JBPressac and edsilv Added the french translations from Transifex (#599)
* Added french translation from Transifex

* Modified some french translations.
Latest commit 197cc19 Jun 21, 2018

Universal Viewer

Backers on Open Collective Sponsors on Open Collective Build Status FOSSA Status License

examples     google group     twitter     #slack

npm install universalviewer@beta --save




  • Zoomable

    OpenSeadragon image zooming using the IIIF image API

  • Embeddable

    YouTube-style embedding with deep links to specific pages/zoom regions.

  • Themable

    Fork the UV theme on github to create your own.

  • Configurable

    The UV has its own visual configuration editor allowing all settings to be customised.

  • Extensible

    Supports IIIF Presentation API v3 (in development), allowing 3D, audio, video, and pdf viewing experiences.

More about the Universal Viewer

Stable Builds

See the GitHub releases page.

Getting Started

For a "hello world" getting started example see uv-hello-world.

For an example of how to use the Universal Viewer in a website starter project that uses biiif to generate your IIIF data, see uv-app-starter.

Building the Universal Viewer

All command-line operations for building the UV are scripted using Grunt which is based on Node.js. To get set up:

  1. Install Node.js, if you haven't already

  2. Install the grunt command line interface:

    npm install -g grunt-cli

  1. Clone the universalviewer repository and examples sub module:

    git clone --recursive

  2. On the command line, go in to the universalviewer folder

  3. Run

    npm install

If switching between branches, ensure that you check out the correct branch in the examples sub-repository too. By default this should be gh-pages.

Debug Builds

To build the debug version of the viewer, just run (on the command line, in the universalviewer folder):

grunt build

This will compile the .less files into .css and .ts files into .js.

Distribution Builds

To build the distribution version of the UV, just run (on the command line, in the universalviewer folder):

grunt build --dist


To view the examples run:

grunt examples


Support us with a monthly donation and help us continue our activities. [Become a backer]


Become a sponsor and get your logo on our README on Github with a link to your site. [Become a sponsor]


The Universal Viewer is released under the MIT license.