/awesome-iiif

Awesome IIIF-related resources

Awesome International Image Interoperability Framework (IIIF) Awesome

A list of lists of awesome IIIF resources.

The International Image Interoperability Framework (IIIF) 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.

Contributing Guidelines

Disclaimer: This list is created for informational purposes only and any links do not constitute an endorsement, recommendation, or favoring by the IIIF Consortium.

Contents

Standards

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.
  • Content Search API - specifies interoperability mechanism for searching within annotations.
  • Authentication API - describes a set of workflows for guiding the user through an existing access control system.
  • 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.

Additional Lists

Image Servers

These servers support the IIIF Image API. Some may also have support for the Presentation API.

  • Loris written in Python.
  • IIPImage Server high performance image server.
  • riiif written in Ruby as a Rails engine.
  • SIPI IIIFv2 image server written in C++.
  • RAIS 100% open source tile server for JP2 images written in Go.
  • digilib image server written in Java.
  • Cantaloupe image server written in Java.
  • iiif_s3 Ruby library for generating a static IIIF level 0 Image and Presentation API server on Amazon S3.
  • Hymir IIIF Server IIIF server written in Java supporting IIIF Image and Presentation API.
  • go-iiif IIIF server written in go (fork of greut/iiif).

Image Server Shims

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.

Image Viewers

Image API Libraries

  • iiif-apis Java IIIF API libraries.
  • piffle Python library for generating and parsing IIIF Image API URLs.
  • iiif_url Ruby library for creating and parsing IIIF Image API URLs.
  • iiif Python library providing a reference implementation of the Image API. Also includes a test server and static tile generator.
  • iOSTiledViewer - IIIF image API and Zoomify viewer for iOS, written in Swift.

Image Tools

Various tools for working with images such as cropping tools.

  • Leaflet-IIIF Cropping - Example of using Leaflet to provide IIIF cropping.
  • Stanford Cropper - Simple image cropper.
  • OpenSeadragon Cropping Tool - Script to allow for cropping an image from within OpenSeadragon.
  • Wikimedia Commons Image Cropper - Create IIIF image regions from image files at Wikimedia Commons.
  • TryIIIF - Example tool for viewing any web-accessible image within a couple IIIF Image Viewers.
  • IIIF-imageManipulation - UCD's tool to crop images and manipulate via IIIF attributes; integrate with Mirador via plugin.
  • 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.

Presentation API Libraries

  • 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.
  • iiif-prezi Python library providing a reference implementation.
  • iiif-apis Java IIIF API libraries.
  • IIIF Manifest Generator PHP library for generating IIIF manifests.
  • tabula-rasa npm module for creating and manipulating IIIF manifests.
  • iiif-tree-component IIIF tree menu sortable by date with multi-select capability.
  • Tripoli IIIF Presentation API 2.0+ validation library.
  • 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.
  • Swiiift - IIIF presentation API library for Swift.

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.

  • Shimmy is a Ruby gem designed to help you build shims for the IIIF Presentation API, and has samples for NYPL, Flickr, and the US National Archives.
  • Chronicling America for newspapers digitized in the National Digital Newspaper Program.

Presentation Manifest Tools

  • Manifest Editor - Web application for importing, viewing, updating, and exporting manifests. See a demo.
  • demetsiiify - Web service for creating IIIF manifests from METS/MODS documents.
  • biiif - Organise your files according to a simple naming convention to generate IIIF v3 manifests.

Content Search API

Libraries and applications that support the Content Search API.

  • Ocracoke - Rails application to create, index, and search text from page images and provide results in IIIF Content Search API format.

Authentication

Some resources about the IIIF Authentication API.

Tutorials

Tutorials for how to accomplish functionality in your applications.

Videos and Slide Decks

Slide decks and presentation videos with a focus on IIIF.

Discovery

Links to help you discover IIIF resources that have been shared, demonstrations of IIIF discovery and useful discovery tools.

  • iiif-universe - a repository that includes links to known IIIF presentation manifest collections.
  • iNQUIRE demo is a demo of an 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 is the Github repository for iNQUIRE.
  • Musiclibs provides cross-library search of thousands of musical scores and manuscripts.

Annotations

While annotations are not specified by IIIF they are an important enabling technology.

  • Storiiies - Demos of using annotations for storytelling.

Annotation Servers

  • MangoServer - Mongo-backed annotation server written in Python.
  • SimpleAnnotationServer - Java annotation server backed by an Apache Jena triple store, Sesame, or Solr.
  • Elucidate - Java and Postgres annotation server.
  • ipfs-iiif-db - IIIF annotations JS client over IPFS.
  • annotot - Simple IIIF annotations mounted in a Ruby on Rails applications.

CMS Integration

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.
  • UniversalViewer4Omeka - Omeka plugin that implements the IIIF APIs (Image and Presentation) and integrates the UniversalViewer into Omeka.

Newspapers

These are resources that are specifically useful for working with newspapers. Many of them are outputs of the IIIF Newspaper Community Group.

STEM

Science, Technology, Engineering, Math/Medicine

  • CellXplorer - Cell biology annotations in a deep zoom viewer.

Experiments and Fun

  • Puzzles! Powered by IIIF - Drag-and-drop image tile puzzles created by Michael Appleby, Yale Center for British Art.
  • Slider puzzles - More drag-and-drop puzzles, created by Ben Albritton, Stanford University Libraries.
  • 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 Univerity Libraries.
  • Fractals - Deep zoom into a huge (1bn x 1bn pixel) fractal image, created by Sean Martin, Applied IIF. Also see full list of fractals.
  • 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.
  • IIIF Gallery - A virtual art gallery using OpenSeadragon and custom image generation, created by Stephen Fraser, Digirati. Also see full source code.
  • Exquisite Corpse - A prototype that deliberately mixes up portrait paintings. Created using Node.js by Jeff Steward, Harvard Art Museums.
  • 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.
  • Sleep Stories - an 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.
  • Image Comparison with a Slider - Image comparison using leaflet slider by Digirati.
  • Image Comparison with a Magnifying Glass - Image comparison using leaflet magnifying glass by Digirati.
  • X-raying Balenciaga - Beautiful use of IIIF images to show X-rays of Balenciaga fashion by the Victoria & Albert Museum.
  • Storiiies - Cogapp's showcase of recent experiments in digital storytelling using IIIF.
  • Old Map Room - An AppleTV application that uses IIIF to turn any room into a map room.

Community

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.

License

CC0

To the extent possible under law, all contributors waive all copyright and related neighboring rights to this work.