Diva.js: Document Image Viewer with Ajax

Diva.js (Document Image Viewer with AJAX) is a Javascript frontend for viewing documents, designed to work with digital libraries to present multi-page documents as a single, continuous item. Only the pages that are being viewed at any given time are actually present in the document, with the rest appended as necessary, ensuring efficient memory usage and high loading speeds. Written as a jQuery plugin, diva.js requires the jQuery Javascript library, along with several jQuery plugins and the jQuery UI, all of which are included. On the backend, the images will be served by IIPImage server after processing, and the image information will be sent, in JSON format, through an AJAX request by a PHP script (also included).


You can see Diva in action on our demo page.


Download Diva.js


Installation and setup instructions are available on our Wiki pages

Developing for Diva

We welcome contributions! If you want to hack away at Diva, the easiest way to do this is:

  1. Head over to our GitHub repo and create a new personal fork.
  2. Read our documentation to get familiar with what's going on.
  3. Hack away at your local repo. (Hint: if you don't know what you want to do, take a look at our outstanding Issues)
  4. When you think you're ready, send us a pull request. We'll check over your code, and then merge it in.
  5. GOTO 3.


If you find Diva.js useful and are using it in any deployments (large or small), please let us know. This work is part of our research, and keeping in touch about pilot projects or full-scale deployments helps us figure out what kinds of tools are valuable in digital library communities.


Diva.js is developed by:

Project managers:


Diva.js didn't spring up fully formed overnight. It's been an ongoing project at the Distributed Digital Music Archives and Libraries Lab (DDMAL), at the Schulich School of Music of McGill University. It began as a collaboration with the Swiss RISM as part of a project funded by the Swiss National Science Foundation. Currently it is being developed as part of a three-year grant from the Social Sciences and Humanities Research Council of Canada. We're also grateful for support from the Canadian Foundation for Innovation and the Centre for Interdisciplinary Research in Music Media and Technology (CIRMMT).