A list of lists of awesome IIIF resources.
The International Image Interoperability Framework (IIIF - "triple-eye-eff") is a group of standard APIs around sharing and reuse of media. It is also a growing community of galleries, libraries, archives, museums, companies, and others who develop the standards and interoperable software implementations. Content includes helpful links around each of the standards, demonstrations of their use, and tutorials and presentations. The list is especially helpful for orienting new community members and developers.
The lists below are a great place to start for inspiration and tooling, but they are certainly not complete!
If you have a link or a resource to add, you have a few options:
- check out the Contributing Guidelines linked just above and submit a pull request yourself if you're familiar with Github worflows
- open a new issue ticket mentioning the link or resource you want to add and some description, and the community may be able to help add it
Likewise, there are other ways to see how people are implementing IIIF.
- Github Topics page - This page will show you the Github repositories that self-identify as IIIF-related, with the most recently updated projects listed first.
- IIIF Community on Zenodo - A Zenodo community for gathering articles and data related to IIIF.
Disclaimer: The lists below are presented in alphabetical order within each section, and do not suggest any recommendation. Likewise, these lists are created for informational purposes only and any links do not constitute an endorsement, recommendation, or favoring by the IIIF Consortium.
- Official Resources
- Image Servers
- Image Server Shims
- Image Viewers
- Image API Libraries
- Image Tools
- Presentation API Libraries
- Presentation API Shims
- Presentation Manifest Tools
- Exhibition and Guided Viewing Tools
- Content Search API Servers
- Videos and Slide Decks
- CMS Integration
- Experiments and Fun
- Digital Asset Management (DAMs)
The IIIF community has developed several standards for interoperable web-based image delivery.
- Image API - Specifies a web service that returns an image in response to a standard HTTP or HTTPS request.
- Presentation API - Provides the information necessary to allow a rich, online viewing environment for primarily image-based objects to be presented to a human user, likely in conjunction with the IIIF Image API.
- Authentication API - Describes a set of workflows for guiding the user through an existing access control system.
- Change Discovery API - This specification describes changes to IIIF content resources and the location of those resources for providers to harvest, to ultimately allow users to easily find and engage with content available via existing IIIF APIs.
- Content Search API - Specifies interoperability mechanism for searching within annotations.
- External Services API Annex - Describes the set of related services that have been identified as useful to reference from the IIIF APIs.
- API Annex Documents - List of all API annex documents and API implementation notes.
There are also draft specifications, works-in-progress that benefit from community feedback as they're being developed:
- Content State API - This specification provides the format of the content state (a IIIF Presentation API resource, or a part of a resource), and mechanisms for passing it between applications regardless of their different user interfaces and capabilities.
The IIIF Consortium (IIIF-C), with support from the community, maintains a number of resources to assist with understanding and implementation of IIIF.
- IIIF Cookbook - A collection of IIIF "recipes," different reusable code snippets to help create IIIF manifests for common use cases.
- IIIF Online Workshop - IIIF workshop materials and videos given by the IIIF-C and updated at each occurrence.
- IIIF Guides - A "how-to" resource with screenshots for finding IIIF Manifest URLs from various members of the IIIF community.
- Image API validator - A service to validate a IIIF Image API resource against the specification.
- Presentation API validator - A service to validate a IIIF Presentation API resource against the specification.
These servers support the IIIF Image API. Some may also have support for the Presentation API.
- aws-batch-iiif-generator - An automated pipeline to generate IIIF tiles and manifests and use AWS S3 as an IIIF image server.
- Cantaloupe - Image server written in Java fully conformant to all IIIF Image API versions through 3.0.
- digilib - Image server written in Java.
- FSI Server - FSI Server is a popular commercial solution for serving high resolution images in multiple formats. It accompanies the Flash-based FSI Viewer for zoom and pan. IIIF adaptor for FSI server
- go-iiif - IIIF server written in go (fork of greut/iiif).
- Hymir IIIF Server - IIIF server written in Java supporting IIIF Image and Presentation API.
- iiif_s3 - Ruby library for generating a static IIIF level 0 Image and Presentation API server on Amazon S3.
- IIPImage Server - High performance image server.
- Loris - Written in Python.
- Micrio - Commercial platform for hosting IIIF collections with Presentation API support.
- RAIS - 100% open source tile server for JP2 images written in Go.
- riiif - Written in Ruby as a Rails engine.
- serverless-iiif - IIIF Image API 2.1 server as an AWS Serverless Application.
- SIPI - IIIFv3 image server written in C++.
- TremendousIIIF - A .NET C# IIIF Image API 2.1 server
Shim Image Servers
As defined by Wikipedia a shim is a small library that transparently intercepts an API, changing the parameters passed, handling the operation itself, or redirecting the operation elsewhere. These shims allow you to use an image server that does not currently support IIIF. If you have not implemented an image server yet, this is probably not where you want to start.
- ContentDM Image translator - Makes ContentDM images available through IIIF. Python.
- Djatoka Ruby gem - Convert IIIF URLs into the URLs that Djatoka requires.
- Flask-IIIF - Flask extension to support IIIF in Python/Flask applications. See Flask-IIIF previewer demo and Flask-IIIF RESTful demo.
- Shimmy - Ruby gem designed to help you build shims for the IIIF Presentation API.
- CanvasPanel - React library to build IIIF Presentation 3 level viewing experiences including support for annotations.
- Diva.js - IIIF image viewer optimized for speed and flexibility.
- IIIF Curation Viewer - A general IIIF viewer with added focus on curation and ordering of cropped IIIF images. Demo
- IIIFViewer - IIIF WebGL / Canvas / DOM mobile-ready fast viewer powered by OpenLayers V3.
- Imaging Helper Plugin - OpenSeadragon plugin with utility functions.
- Internet Archive BookReader - A viewer developed by the Internet Archive, specially suited for viewing books.
- Leaflet-IIIF - Lightweight, extensible IIIF image viewer.
- Micrio - High-performance client with WebAssembly/WebGL engine and additional storytelling elements. Also offering full server IIIF support.
- Mirador - Multi-up workspace. See also Awesome Mirador list.
- openseadragon-react-viewer - A React wrapper component around OpenSeadragon which offers selectable, extended UI functionality.
- OpenSeadragon - IIIF tile support.
- Tify - Slim and fast IIIF document viewer built with Vue.js.
- Universal Viewer - Rich embeddable interface.
Image API Libraries
- iiif_url - Ruby library for creating and parsing IIIF Image API URLs.
- iiif-apis - Java IIIF API libraries.
- iiif - Python library providing a reference implementation of the Image API. Also includes a test server and static tile generator.
- image-iiif - A bring your own framework solution for implementing IIIF Image API 2.1 with PHP.
- iOSTiledViewer - IIIF image API and Zoomify viewer for iOS, written in Swift.
- libvips - A fast image processing library with low memory needs. Includes an operation that can build image pyramids compatible with IIIF Image API.
- piffle - Python library for generating and parsing IIIF Image API URLs.
Various tools for working with images such as cropping tools.
- Compariscope - A demo app by the Victoria & Albert useful for the alignment of overlayed images, served by the IIIF Image API, and providing an interactive viewer for overlayed images, presented fluidly, using responsive image tags.
- dezoomify-rs - A command-line tiled image downloader. Support IIIF, Deepzoom and others zoomable image formats.
- IIIF cropping tool - Website using Leaflet-IIIF Cropping and Jekyll that allow users to enter the URL of a IIIF image and get the URL for the cropped section of the image.
- iiif-dl - Command-line tile downloader/assembler for IIIF endpoints/manifests. Download full-resolution image sequences from any IIIF server.
- IIIF-imageManipulation - UCD's tool to crop images and manipulate via IIIF attributes; integrate with Mirador via plugin.
- Leaflet-IIIF Cropping - Example of using Leaflet to provide IIIF cropping.
- OpenSeadragon Cropping Tool - Script to allow for cropping an image from within OpenSeadragon.
- Stanford Cropper - Simple image cropper.
- Wikimedia Commons Image Cropper - Create IIIF image regions from image files at Wikimedia Commons.
Presentation API Libraries
- IIIF Manifest Generator - PHP library for generating IIIF manifests.
- iiif-apis - Java IIIF API libraries.
- iiif-prezi - Python library providing a reference implementation.
- iiif-tree-component - IIIF tree menu sortable by date with multi-select capability.
- jiiify-presentation - A Java IIIF Presentation library.
- Manifesto - IIIF Presentation API client and server utility library.
- Manifold - Wraps Manifesto to provide viewer state and related utilities.
- O'Sullivan - Ruby API for creating IIIF manifests.
- pyIIIFpres - A Python module built for easing the construction of JSON manifests compliant with IIIF API 3.0 in a production environment, similarly to iiif-prezi for earlier versions of the protocol.
- Swiiift - IIIF presentation API library for Swift.
- tabula-rasa - npm module for creating and manipulating IIIF manifests.
- ViewDir - Documentation on IIIF-related libraries and components, from an open community of designers and developers interested in creating composable and interoperable interfaces for consuming and creating online content.
Presentation API Shims
These shims allow you to use systems with presentation metadata (e.g. structure or sequences) that do not currently support IIIF. If you have not implemented the Presentation API yet, this is probably not where you want to start.
- Chronicling America - For newspapers digitized in the National Digital Newspaper Program.
- Shimmy - Ruby gem designed to help you build shims for the IIIF Presentation API, and has samples for NYPL, Flickr, and the US National Archives.
Presentation Manifest Tools
- biiif - Organise your files according to a simple naming convention to generate IIIF v3 manifests.
- demetsiiify - Web service for creating IIIF manifests from METS/MODS documents.
- File Analyzer IIIF Manifest Generator from Existing Metadata - Georgetown's desktop application that will generate IIIF manifest files from existing metadata files.
- IIIF Download - Input a IIIF Manifest URL to and the desired image size to download a zip of all that Manifest's images
- IIIF Manifest Explorer - Input a IIIF manifest link to see basic object and image metadata in a human-friendly format.
- iiif-producer - A CLI tool that generates IIIF Presentation 2.1 Manifests from METS/MODS (produced by Kitodo).
- Manifest Editor - Web application for importing, viewing, updating, and exporting manifests. See a demo.
- Brif - A boilerplate tool based on Docker and FastAPI, designed to streamline the development and deployment of IIIF compliant platforms. Powering up muzz.app. See live demo.
- Tripoli - IIIF Presentation API 2.0+ validation library.
Exhibition and Guided Viewing Tools
Tools and resources that provide functionality for presenting IIIF materials in an exhibition-like setting (and potentially other functionality).
- Annona Range Storyboard - Annona toolkit which allows for the guided viewing of segments of a manifest, in addition to the Annona Multi Storyboard Viewer for guided comparison of multiple manifests.
- Curation Tools - Set of tools, including a Viewer, Curation Manager, Curation Board, and more from the Center for Open Data in the Humanities (all tool descriptions in Japanese, some also available in English).
- Exhibit - A free IIIF storytelling tool that allows for guided navigation of one or more IIIF Manifests using annotations.
- Micrio - High-performance client with WebAssembly/WebGL engine and additional storytelling elements. Also offering full server IIIF support.
- Omeka-S plugins - additional plugins and description in the CMS Integration section
- Panel Truck - Vue-based presentation tool, embeddable into any page as a Web Component, which supports slide-like narration over one or multiple IIIF sources, as well as static images and tiled map sources. (Example)
- Simple Site IIIF Extensions This Simple Site has several extensions that make use of IIIF to produce customised presentations of a bespoke selection of IIIF manifests (e.g. in Mirador 3, Curtain Viewer and Panel Truck).
- Spotlight - a self-service approach for creating exhibit websites to highlight digital collections; based on Blacklight.
- Storiiies Editor – a free online storytelling platform for creating guided tours of a single IIIF manifest using annotations.
- Wax - a minimal computing project for producing digital exhibitions focused on longevity, low costs, and flexibility.
- Yith - a component library that interweaves IIIF manifests and their content into flexible layouts in a usable, responsive, and accessible way.
Content Search API
Libraries and applications that support the Content Search API.
- Blacklight IIIF Search - Plugin that provides IIIF Content Search functionality for Blacklight-based Rails applications.
- Ocracoke - Rails application to create, index, and search text from page images and provide results in IIIF Content Search API format.
- Whiiif - Python/Flask/Solr application to index IIIF manifests alongside ALTO representations and provide a IIIF Content Search API endpoint.
Some resources about the IIIF Authentication API.
- IIIF Auth Demonstrator - Manifests with accompanying images that demonstrate various IIIF authentication modes.
- iiif-auth-client - Client implementation of the IIIF Authentication specification.
- iiif-auth-server - A demo server implementation of all apsects of the IIIF Authentication specification.
- iiif-image-auth - A simple server implementation based on Docker and Flask.
- IIIF.io : the hardest part will be saying "no". - Blog post by Russell McOrmond considering the challenges of restricting access to Canadiana's resources.
Tutorials for how to accomplish functionality in your applications.
- Archiviiify - A short guide to download digitized books from Internet Archive and rehost on your own infrastructure using IIIF with full-text search [from raffaele messuti / @atomotic].
- Drag and Drop - Getting a IIIF image into Mirador with drag-and-drop and email.
- Experiments with IIIF and Gallica - A guided tour of end user applications of IIIF to Gallica materials, by Jean-Philippe Moreux (BnF).
- Fellow Travelers: The Canterbury Tales and IIIF - Benjamin Albritton; includes an explanation of the use case for medieval scholars using Chaucer as an example and short section on how to make a page comparison demo in Mirador.
- Getting started with IIIF - Introduction originally presented during a workshop at the 2017 Code4Lib Conference at Los Angeles, CA.
- Introduction to APIs using IIIF - Uses IIIF as an example to explain APIs.
- IIIF Implementation Guide - A step-by-step walkthrough of how to implement IIIF.
- IIIF Intro (fr) - Introduction to IIIF (in French).
- IIIF Quick Start Guide - Quick overview of how you might get started with implementing various IIIF standards.
- IIIF Workshop - An online workshop that covers the basics of IIIF including the Image and Presentation APIs.
- IIIF Workshop for DHNord2020 - French langauge workshop with three exercises from a workshop entitled "Adopt and use IIIF standards for your digital image corpora," created by Régis Robineau (technical coordinator of Biblissima) and Johann Holland (TGIR Huma-Num).
- Image API Playground - Learn about the structure of a IIIF URL through manipulating the parameters and seeing the results in a live demo.
- Image Choice video - Demonstration of how a canvas can have a choice of images and a viewer can toggle between them.
- Introduction to APIs using IIIF - Uses IIIF as an example to explain APIs.
- Introduction to IIIF - A thorough introduction to the IIIF specifications and tools for using them, by Tom Crane at Digirati.
- Introduction to IIIF in Portuguese - Covers Image API, Presentation API, and annotations.
- Suggested measures for deploying IIIF in Swiss cultural heritage institutions (White paper) - Julien A. Raemy & René Schneider (2019).
Videos and Slide Decks
Slide decks and presentation videos with a focus on IIIF.
- An Introduction to the International Image Interoperability Framework - Presentation introducing IIIF for new audiences as "the API for humans" - also contains videos from other IIIF presentations.
- Collection of slide decks - From various IIIF events.
- DHtech Workshop: Image Servers and IIIF - Slides and recording from a DARIAH-DE workshop in 2018 by Robert Casties.
- Image API Introduction - High level overview of the Image API parameters.
- IIIF For Small Projects - How IIIF can be used on small projects with limited infrastructure, presented at KeystoneDH 2016.
- IIIF Tutorials (German) - YouTube playlist from the Zurich Central Library (Zentralbibliothek Zürich).
- Introduction to IIIF - Extensive presentation introducing IIIF with numerous examples and video demos, Beijing, October 2017.
- Introduction to IIIF (German) - German translation of the above presentation.
- Introduction to the Presentation API - Rob Sanderson.
- OA - Shared Canvas - TEI - Biblissima project - Part of a workshop on TEI and neighboring standards including IIIF.
- Video from IIIF event at the National Gallery of Art - May 2015.
- Video from the outreach event at the Museum of Modern Art - May 2016.
- YouTube playlist from IIIF Göttingen Lightning Talks - Short talks (usually ~10 minutes) covering a variety of topics and new IIIF implementations; recorded June June 26, 2019 (see full program for links to abstracts).
- YouTube playlist from IIIF Göttingen Showcase - Day of presentations geared toward relative newcomers to IIIF, covering a variety of general topics; Recorded June 24, 2019 (see full program for links to abstracts).
- YouTube playlist from IIIF Week 2020 - Presentations and demos from the IIIF Week Online event which was held between 1 and 5 June 2020.
Links to help you discover IIIF resources that have been shared, demonstrations of IIIF discovery and useful discovery tools.
- Biblissima IIIF-Collections - Prototype application that allows you to search across IIIF-compliant manuscripts and rare books dated before 1800.
- Europeana's IIIF filtered search - Europeana provides a filter to identify all IIIF-enabled resources in its collections.
- IIIF Discovery in Japan - Prototype discovery system for IIIF resources in Japan.
- IIIF Explorer - OCLC's IIIF Explorer is a prototype application that searches across images (all IIIF-enabled) in the CONTENTdm digital content management systems hosted by OCLC.
- iiif-universe - Repository that includes links to known IIIF presentation manifest collections.
- iNQUIRE demo - Open-source IIIF-compliant research and discovery platform. This is the IIIF-compliant version of the platform driving [Digital Bodleian] (http://digital.bodleian.ox.ac.uk/).
- iNQUIRE source - Github repository for iNQUIRE.
- Musiclibs - Provides cross-library search of thousands of musical scores and manuscripts.
Import to Viewers
- iiif.link - A url shortener for sharing a IIIF resource; upon opening the URL the viewer will open at the saved zoom and region of interest.
- Open in IIIF Viewer - A web browser extension to open IIIF manifest link in your favorite IIIF viewer.
While annotations are not specified by IIIF they are an important enabling technology.
- In the Spotlight - Crowdsourced contributions are serialised according to the Web Annotations Data Model.
- Recogito - A popular and award-winning Digital Humanities platform for collaborative document annotation, maintained by Pelagios.
- Storiiies - Demos of using annotations for storytelling.
- annotot - Simple IIIF annotations mounted in a Ruby on Rails applications.
- Elucidate - Java and Postgres annotation server.
- ipfs-iiif-db - IIIF annotations JS client over IPFS.
- Local IIIF Annotation Server - Jekyll front end, Flask backend, equipped with Vagrant Box that provides a Mirador viewer for creating and save annotations into Jekyll site. Annotations are sharable by using GitHub pages with Jekyll front end.
- MangoServer - Mongo-backed annotation server written in Python.
- SimpleAnnotationServer - Java annotation server backed by an Apache Jena triple store, Sesame, or Solr.
- Annonatate - Website that allows users to create annotations via their GitHub account. The website saves all the annotations to the user's GitHub. Also makes use of Annona and allows users to create custom Annona views.
- IIIF Annotation Studio - Mirador Viewer packaged as a desktop app (macos, linux) with an embedded annotation endpoint that saves annotations to a local sqlite database.
Content Management Systems (CMS) modules that implement or leverage the IIIF APIs.
- IIIF Image Field - Drupal 7 module that provides an easy way to add IIIF Images to content types, and configure their display. Supports Image API versions 1.0 or 2.0.
- IIIF Server Omeka S Module - Omeka S module that implements the IIIF Image and Presentation APIs.
- IIIF Toolkit - IIIF Toolkit by University of Toronto Libraries is a plugin for Omeka Classic (2.3+) that integrates Mirador with a built-in annotator, a manifest generator, Simple Pages shortcodes and Exhibit Builder blocks for a rich presentation experience.
- Mirador Viewer Omeka S Module - Omeka S module that integrates the Mirador image viewer.
- UniversalViewer Omeka S Module - Omeka S module that integrates UniversalViewer.
These are resources that are specifically useful for working with newspapers. Many of them are outputs of the IIIF Newspaper Community Group.
- docker-open-oni - Docker friendly setup for open-oni, which will set up and configure the Web application as well as the MySQL, Solr and RAIS Image Server.
- IIIF Newspapers Google Drive Folder - Working documents of the Interest Group for meeting minutes, and working drafts of best practices, etc.
- ndnp_iiif - Python program for turning National Digital Newspaper Program data into static IIIF JSON that is ready for mounting on the Web.
- open-oni - Friendly fork of chronam which is a webapp for viewing National Digital Newspaper Program data from the Library of Congress.
- Populating the Annotation Store with IIIF Annotation List - Provides instructions on how to edit OCR text using annotations in Mirador.
- Welsh Newspapers Online - Provides access to over 1 million newspaper pages using the IIIF Image API.
- National Library of Wales' guide to IIIF Newspapers provides an explanation and examples of how IIIF applies to newspapers.
Science, Technology, Engineering, Math/Medicine
- CellXplorer - Cell biology annotations in a deep zoom viewer.
Experiments and Fun
- 3D trade cards explorer - A 3D environment that displays nineteenth-century trade cards from the Boston Public Library. Designed to be viewed on a mobile phone, ideally with Google Cardboard. Created using three.js by Jon White, Cogapp.
- Animal Crossing Art Generator - Getty's tool leverages IIIF to create custom patterns featuring artwork from famous art collections around the world.
- ANTLITZ.NINJA - Award-winning digital art app that cuts and re-combines historical portraits. Based on IIIF.
- cover.boutique - Award-winning web application to create designs for smartphone cases from IIIF resources.
- Automapic collections bot - Twitter bot that randomly pulls a IIIF excerpt, zoomed in at maximum resolution, from the Leventhal Map & Education Center's digital collections
- David Rumsey MapTab - A IIIF powered, Chrome extension that displays a random map from the David Rumsey Map Collection everytime you open a new tab in your browser. Built using Leaflet-IIIF and React.js. Created by Jack Reed, Stanford University Libraries.
- Exquisite Corpse - A prototype that deliberately mixes up portrait paintings. Created using Node.js by Jeff Steward, Harvard Art Museums.
- Fractals - Deep zoom into a huge (1bn x 1bn pixel) fractal image, created by Sean Martin, Applied IIIF.
- IIIF Gallery - A virtual art gallery using OpenSeadragon and custom image generation, created by Stephen Fraser, Digirati. Also see full source code.
- IIIF Stereographs - Exploring Stereo Photos with IIIF
- Image Comparison with a Magnifying Glass - Image comparison using leaflet magnifying glass by Digirati.
- Image Comparison with a Slider - Image comparison using leaflet slider by Digirati.
- Old Map Room - An AppleTV application that uses IIIF to turn any room into a map room.
- Puzzles! Powered by IIIF - Drag-and-drop image tile puzzles created by Michael Appleby, Yale Center for British Art.
- Sleep Stories - Experiment with the W3C Web Annotation Data Model. The annotations present a sequence of stories associated with a large image. Optimised for mobile. Created by Andrew Dyton and Stephen Fraser, Digirati, for Wellcome Collection.
- Slider puzzles - More drag-and-drop puzzles and a Medieval Word Maker, created by Ben Albritton, Stanford University Libraries.
- Storiiies - Cogapp's showcase of recent experiments in digital storytelling using IIIF.
- The Transcriptinator - A prototype "game" created for use on the British Library's crowd-sourcing arcade machine. Players have to flag up errors in the OCR transcriptions of content taken from the Qatar Digital Library. Created by Jon White and Tristan Roddis, Cogapp.
- Wax - Minimal computing for producing digital exhibitions with Jekyll.
- X-raying Balenciaga - Beautiful use of IIIF images to show X-rays of Balenciaga fashion by the Victoria & Albert Museum.
IIIF is a community-based initiative that relies on active participation, discussion, and input. To get involved and learn more, see the IIIF Community page.
- Join the IIIF-Discuss email list.
- Join IIIF Slack for the most up to date and broad discussions.
- Read quarterly IIIF Community Newsletters to stay up to date with the latest community activities.
- Submit a IIIF-related news item to the IIIF Community Newsletter.
- Contribute to one of the IIIF community and/or technical groups.
- Participate in the bi-weekly IIIF community calls. See the IIIF community calendar for details.
- Learn more about the IIIF Consortium.
- Attend a IIIF event.
- iiif_io on Twitter.
Digital Asset Management (DAMs) that support IIIF
- Axiell Collections
- Invenio(Image API implementation via invenio-iiif)
- Libnova/Libsafe(Image API)
- Muzz.app platform (based on Brif)
To the extent possible under law, all contributors waive all copyright and related neighboring rights to this work.