The Universal Viewer is a community-developed open source project on a mission to help you share your content with the world
JavaScript CSS Java TypeScript HTML C++
Latest commit cf99a78 Oct 26, 2016 @edsilv edsilv deleted bundle.min.js

Universal Viewer

Build Status Gitter

npm install universalviewer


bower install uv


Google group



Wellcome Library British Library National Library of Wales Villanova University, Falvey Memorial Library Riksarkivet


The Universal Viewer is an open source project to enable cultural heritage institutions to present their digital artifacts in an IIIF-compliant and highly customisable user interface.


  • OpenSeadragon image zooming using the IIIF image API.
  • YouTube-style embedding with deep links to specific pages/zoom regions.
  • Themable, fork the UV theme on github to create your own.
  • Highly configurable and extensible.
  • Supports "IxIF" out of the box, allowing 3D, audio, video, and pdf viewing experiences.
  • Supports search and autocomplete service integration with overlayed search results.
  • Internationalised UI using (currently supports English and Welsh. Volunteers for more translations gratefully accepted!)

More about the Universal Viewer

Stable Builds

See the GitHub releases page.


The most up-to-date code can usually be found on the dev branch. Please see the wiki for instructions on how to customise the viewer for your own projects.

First Time Setup

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 (if you haven't already); on the command line, run:

    npm install -g grunt-cli
  3. Install bower (if you haven't already)

    npm install -g bower
  4. Clone the universalviewer repository and sub modules:

    git clone --recursive
  5. On the command line, go in to the universalviewer folder

  6. Run

    npm install
    bower install
    grunt sync

Debug Builds

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


This will compile the .less files into .css and .ts files into .js with source maps to aid in debugging.

Distribution Builds

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

grunt build

A versioned uv-major.minor.patch folder along with compressed .zip and .tar files will appear in the /dist folder. Use these in your website, or alternatively use:

bower install uv --save

which will download the distribution folder to bower_components.

See for examples.


To view the examples run:

grunt examples


The Universal Viewer is released under the MIT license.