The International Image Interoperability Framework, better known as IIIF (“triple-I-F”), is a set of standards for displaying digital images (and other formats). It is becoming quite widespread in GLAM institutions such as digital libraries and museums. Martin R. Kalfatovic @UDCMRK, who until recently was BHL’s Program Director, is currently the Managing Director of IIIF.
IIIF bad
As a sidenote, I confess that I have a love/hate relationship with IIIF, mainly because while I am (mostly) OK with using IIIF to describe a digital object (such as a scanned book), I really dislike IIIF viewers (the tools that convert the IIIF description into an interactive web site). These viewers treat a book as a series of individually zoomable pages, but to me a book is a scrollable series of pages of (mostly) text. The way you interact with these two kinds of objects is quite different (compare how you scroll or swipe through a PDF or an ebook, versus how you pinch and zoom a photo in the camera roll of your phone). So, I do not think IIIF viewers are a great interface for the content BHL provides (I’ll return to this below).
IIIF good
Having got that off my chest, one undeniable advantage of IIIF is that by defining a standard way to describe content, IIIF enables an ecosystem of tools and toys to emerge. A couple of cool examples are:
These tools take the IIIF manifest as their starting point. The manifest is IIIF’s standard way of describing one or more images, and where to fetch those images.
IIIF Illustration Detector
IIIF Illustration Detector uses a small AI model that runs in your web browser (as opposed to a data centre). You give it the URL of the IIIF manifest and it examines each image, deciding whether it represents an illustration or not. Here’s an example:
IIIF Illustration Detector supports the IIIF standard for describing annotations of an image or page, so you can download a list of pages that are classified as “illustrated”.
I think there could easily be a family of such models that people could use to enhance BHL content. For example, if you are interested in people you would want an model to find pages with photos or illustrations of people. Lots of possibilities.
Allmaps
Allmaps is a tool for placing images of maps onto a base map. It took me a little while to figure out how to use the editor, but I asked ChatGPT to walk me through it:
- Go to https://editor.allmaps.org and paste in the URL for a IIIF manifest.
- Pick the page with the map you want to georeference.
- Double click on it to load the page into the editor.
- Draw a box around the map (a “mask”) on the page.
- Georeference the map by finding the same locality in the two maps (e.g., a town), then click on that locality firstly in the reference map on the right, and then on the image of the map on the left. Do this for several localities.
- Once you’ve done that, click on “Results” and the image of the map from the page will now appear overlaid on the digital map.
Here’s an example.
You can see the map at Allmaps Viewer, and the location of the map and the control points are available as a IIIF annotation https://annotations.allmaps.org/images/90b154bd835e1d7b.
This tool has obvious applications for anyone trying to interpret historical maps of expeditions, etc.
Manifests
I’ve skipped over the “where do I get a manifest for a BHL item?” bit. BHL doesn’t currently support IIIF, although there have been experiments with it in the past. For a BHL item that is in the Internet Archive you can get a IIIF manifest using the following URL:
https://iiif.archive.org/iiif/{identifier}/manifest.json
This requires that you know the Internet Archive identifier for the BHL item, for example: https://iiif.archive.org/iiif/ruwenzoriexpedit01brit/manifest.json
As part of my experiments with BHL-Light I have added a basic IIIF manifest to items, so that you can fetch the manifest for an item at this URL:
https://bhl-light-806b8b6fa073.herokuapp.com/item/ {ItemID}/manifest.json
For example, https://bhl-light-806b8b6fa073.herokuapp.com/item/136856/manifest.json. This works only for items that are in BHL-Light, which at the moment is a small subset of BHL.
Viewing pages of text
I mentioned above how much I dislike the way IIIF viewers, such as TIFY, display books or articles. For example, see ruwenzoriexpedit01brit as displayed in TIFY. But this is a criticism of the way viewers emphasise images, not the underlying IIIF standard that specifies the manifest. One could build a viewer that more closely resembles the behaviour, say, of a PDF viewer. Indeed, the viewer I use in BHL-Light is close to what I’d want in a IIIF viewer, namely a display that focussed on text rather than individual page images.See for example v.I: no.1(1939).
More tools?
The tools I’ve highlighted likely just scratch the surface of what is possible, please let me know if I’ve missed IIIF-based tools that you think are cool, useful, or both.

