# Explorable Explanations: a public-domain library of interactive explanations

> The explorableexplanations.github.io repository holds the Explorable Explanations website, a collection of interactive explanations built with a small JavaScript framework and organised by subject, released under Creative Commons Zero so the material is dedicated to the public domain. It suits a reader who learns by manipulating a model, and its licence lets anyone reuse the work.

**explorableexplanations/explorableexplanations.github.io** — The Explorable Explanations Website

- Repository: https://github.com/explorableexplanations/explorableexplanations.github.io
- Stars: 520 · Forks: 53
- Language: JavaScript
- License: CC0-1.0
- Published: 2026-10-22 · Updated: 2026-10-22 · Language: en
- Canonical page: https://hysenlabs.com/projects/explorableexplanations-explorableexplanations-github-io

## What the project is, and who made it

Explorable Explanations is a collection of interactive explanations, and the repository is the website itself. The description is simply the Explorable Explanations Website.

The authorship is stated at the top of the readme, and it is a single name: designed and developed by Nicky Case, with the link going to the Patreon page. The credits that follow name a group of collaborators with their own sites, including Amit Patel, Andy Matuschak, Chakib Benziane, Chris Makler, Chris Walker, Hamish Todd, Henry Reich, Jack Schaedler, Joshua Horowitz, Omar Rizwan and Toph Tucker, and then a special thanks to the supporters on Patreon.

The supporter list that follows is remarkable in its length. It runs from well-known names in explaining things to online, including 3Blue1Brown, Adam Conover, Aditya Bhargava and Daniel Shiffman, through several hundred individual names, and it is a list of people who chose to fund the work rather than a list of contributors who wrote it. The distinction matters, because the project's shape is the work of one person sustained by a community of funders, and the readme is clear enough about that to say so.

The licence is the other thing stated up front. It is dedicated to the public domain with Creative Commons Zero, and the repository metadata agrees, recording CC0-1.0.

The primary language is recorded as JavaScript, the default branch is master, and the last push to the repository was on 2026-05-16. There are no GitHub releases, which is consistent with a site rather than a package.

## The subject taxonomy, which is the site's structure

The directory tree is the best description of the collection available, because the top-level entries are the subjects and the rest is the machinery.

```text
biology/
chemistry/
civics/
earth/
economics/
journalism/
math/
physics/
programming/
psychology/
philosophy/
art/
reading/
social/
tools/
tutorials/
```

The mix of subjects is what makes the collection distinctive. The expected subjects are there, the sciences and the mathematics, but so are civics, journalism, reading and social, alongside programming and the tools, and the tutorials directory suggests a different mode of entry from the subject folders.

There are also several directories whose names begin with a hyphen, which is a convention for marking a folder as not a page: -css/, -data/, -js/, -sharing/, -splash/ and -thumbs/. Those are the shared assets, and the fact that they are separated from the subject folders means an explanation page can be read without wading through the site's styling and data.

Then there are the global entries. There is index.html, which is the front page, a _template.html, which is presumably the page template the explanations are built from, and build.js, which is the build script. There is a favicon.png and a CNAME file, which is the file that binds the site to a custom domain, and a LICENSE and a README.md at the root.

The presence of meta/ and all/ alongside the subject folders suggests two things: a directory for the site's own metadata, and a collected view that spans the whole library. And the art/ directory is worth noting, because an interactive explanation is a visual artefact and a collection of them needs somewhere to keep the illustrations that are not part of any single page.

Taken together, the structure says this is a hand-built static site with a shared asset layer, a template and a build step, rather than a set of independent pages in a repository.

## Why the licence is the interesting decision

The public domain dedication is not a technical detail, and it is worth understanding what it does and does not mean.

Creative Commons Zero is a waiver. It is not a licence with conditions, it is a statement that the authors have dedicated the work to the public domain, so that anyone may copy, modify, distribute and perform the work, for any purpose, without asking permission and without any requirement to attribute the original. The readme describes it as dedicated to the public domain with Creative Commons Zero.

For an educational collection, that is an unusually complete answer to the question of what a reader is allowed to do with it. A teacher can translate an explanation into another language without asking. A course author can lift a diagram and adapt it. A university can put an explanation in a textbook. A developer can take the JavaScript and build something else with it. In each case the default copyright position would have required a permission request and, in some cases, a licence agreement.

The comparison with the usual open source arrangement is instructive. An MIT or BSD licence on code also permits reuse, but it carries an attribution condition and the copyleft variants carry obligations that spread to derived works. A public domain dedication has no conditions at all, which is the strongest form of permission available under copyright law.

There is a consequence that follows from the choice, and it is not a disadvantage. Because there is no licence obligation, there is also no mechanism by which the collection must be maintained by its author, and the credit list of several hundred names is a Patreon funding list rather than a set of people with commit rights to the repository. The project is a gift, and a gift does not come with a support contract.

The licence also removes a whole category of friction for an adopter. A team that wants to embed an explanation in a product does not have to check whether the page's assets, fonts and images carry separate licences, because the whole thing is one dedication, and they do not have to track which pages were authored by whom for an attribution screen.

## The shared machinery: template, build script and asset folders

Three things in the tree describe how the site is put together, and they are worth separating because they answer different questions.

The _template.html file is the page template. If every explanation on the site is generated from a common template, then the site's frame, its navigation, its footer and its fonts are written once, and an explanation is a piece of content dropped into that frame. That is the arrangement that makes a collection of dozens of pages consistent without a content management system, and it is why the template is at the root rather than inside each subject directory.

The build.js file is the build script. Its presence tells you the site is generated rather than served directly, which matters for a collection this size because the pages share assets, and because the -data/ directory suggests structured content that is transformed into the pages rather than hand-written HTML in every folder. The presence of the -splash/ and -thumbs/ directories alongside -sharing/ points to the same idea: images and metadata that are generated or shared rather than duplicated per page.

The -js/ directory holds the JavaScript the explanations run on, and it is the part a developer would read first. An interactive explanation needs a small framework of its own, something that can animate a simulation, respond to a drag, and draw to a canvas, and a shared one means every explanation on the site behaves consistently and a fix to the framework improves every page at once.

The CNAME file is the other piece of infrastructure worth naming. It contains the custom domain, and its presence is what allows the site to be served from a domain rather than from a project page, which for a collection that has become well known is the difference between a reference people cite and a repository people clone.

And the .gitignore file, present at the root, is the small sign that the build produces output that is not committed, which is the usual arrangement for a static site with a build step: the source is in version control, the built site is deployed from it.

## Where the collection is the wrong tool

The first limit is that it is a collection, not a curriculum. There is no sequence, no prerequisite ordering and no assessment, and the directory layout is organised by subject rather than by what a particular learner should meet first. A teacher who wants a unit on probability will find several excellent pages and still have to build the unit, and a learner who opens the site cold has no indication of where to start beyond the front page and the tutorials directory.

The second is the framework-versus-page distinction. The shared JavaScript is what makes the site work, and it is also what makes it hard to reuse in a different context. An explanation is a page built against this site's own template, its own asset layout and its own framework conventions, so lifting one page into a different site means understanding all three, while the generous licence means you are permitted to do it.

The third is that the licence does not solve the maintenance question. A public domain dedication means nobody has to ask, and it also means there is no obligation on anyone to keep the pages working. An explanation built on a technique that a browser has since changed will simply stop running, and with no vendor and no supported version, the only remedy is to read the code and fix it yourself, which is why a reader with programming ability gets more out of the collection than a reader without it.

The fourth is the age of the implementation. The primary language is JavaScript and the last push was in May 2026, but the site's conventions, and the naming with hyphen-prefixed directories, suggest a hand-built system of some years' standing. A collection of interactive explanations built with older browser APIs will render differently on a current browser in ways that are usually cosmetic and occasionally not, and there is no compatibility matrix to consult.

And the fifth is the single-author concentration, stated in the readme itself. The design and development are the work of one person, with collaborators and a funding base rather than a team of maintainers. For a collection whose value is its taste, its consistency and its voice, that is a strength, and it is also the reason the collection grows at the pace one person can produce it.

## Conclusion

Explorable Explanations is worth exploring if you teach something that is easier to manipulate than to describe, because the whole collection is built on the idea that an explanation can be a thing you play with rather than a thing you read, and because the public domain dedication means you can take an explanation, translate it, adapt it to your own curriculum or reuse the code without asking anyone. It is the wrong tool if you want a course with a syllabus, and it is the wrong tool if you are looking for a maintained framework rather than a collection. Before you use it, check three things: that you accept that it is a collection rather than a platform, because the repository is a set of finished pages in a directory tree with a build script and a template rather than a reusable application framework, and that is what it is meant to be; that you read the licence rather than assuming the usual open source terms, because Creative Commons Zero is a public domain dedication with no attribution requirement and no copyleft obligations, which is a different arrangement from an MIT or BSD licence on code; and that you check the individual pages themselves, because the repository's own structure puts each explanation in its own subject folder with shared assets alongside, and the age of the JavaScript underneath will vary from page to page.

## FAQ

### What is Explorable Explanations?

It is a website and repository of interactive explanations, designed and developed by Nicky Case, built with JavaScript and organised into subject directories covering biology, chemistry, civics, earth, economics, journalism, mathematics, physics, programming, psychology, philosophy, art, reading, social, tools and tutorials, alongside shared asset folders and a page template. The whole collection is dedicated to the public domain with Creative Commons Zero.

### What licence is the Explorable Explanations material under?

It is dedicated to the public domain under Creative Commons Zero, which the readme states at the top and the licence field in the repository metadata says CC0-1.0. That means anyone may copy, modify, distribute and build on the explanations and the code without asking permission and without an attribution requirement, which is a stronger position than the MIT or BSD terms usually found on an open source project.

### How is the Explorable Explanations website built?

The repository holds a _template.html page template, a build.js build script, shared asset directories marked with a leading hyphen for -css/, -data/, -js/, -sharing/, -splash/ and -thumbs/, an index.html front page and a CNAME file that binds the site to its custom domain. Each subject directory holds the individual explanations, and the .gitignore indicates that the build output is not committed.

## Sources

- [explorableexplanations/explorableexplanations.github.io on GitHub](https://github.com/explorableexplanations/explorableexplanations.github.io)
- [Issues](https://github.com/explorableexplanations/explorableexplanations.github.io/issues)
- [License: CC0-1.0](https://github.com/explorableexplanations/explorableexplanations.github.io/blob/master/LICENSE)
- [README](https://github.com/explorableexplanations/explorableexplanations.github.io/blob/master/README.md)

---

Hysen Labs editorial analysis, written from the project's own repository and release notes. Cite the canonical page: https://hysenlabs.com/projects/explorableexplanations-explorableexplanations-github-io
