Colophon
Docs is made with a lot of other people’s open-source work. This is all of it: every typeface, library, icon set and tool, what each one is, what Docs uses it for, who made it and the license it is under.
The list is made from what Docs is actually built from, so nothing is missing from it and nothing in it is out of date.
Typefaces
-
Caladea
A serif by Andrés Torresi and Carolina Giovagnoli of Huerta Tipográfica. It is drawn to the same measurements as Microsoft's Cambria, so text set in one takes the same space in the other. A font in the font menu that lays text out as Cambria would.
- By
- The Caladea Project Authors
- License
- SIL Open Font License 1.1
-
Carlito
A sans serif by Łukasz Dziedzic, based on his Lato. It is drawn to the same measurements as Microsoft's Calibri, letter for letter, so text set in one takes the same space in the other. Docs' default font, so a document breaks its lines and pages where Word would in Calibri.
- By
- The Carlito Project Authors
- License
- SIL Open Font License 1.1
-
Caveat
A handwriting face by Pablo Impallari, drawn from quick, casual notes. One of the fonts in the font menu, served to the browser and embedded in PDFs.
- By
- The Caveat Project Authors
- License
- SIL Open Font License 1.1
-
EB Garamond
Georg Duffner's revival of Claude Garamont's sixteenth-century types, from the Egenolff-Berner specimen of 1592. One of the fonts in the font menu, served to the browser and embedded in PDFs.
- By
- The EB Garamond Project Authors
- License
- SIL Open Font License 1.1
-
IBM Plex Sans
IBM's corporate sans serif, designed by Mike Abbink with Bold Monday. One of the fonts in the font menu, served to the browser and embedded in PDFs.
- By
- IBM Corp.
- License
- SIL Open Font License 1.1
-
Inter
A sans serif by Rasmus Andersson, designed for reading on screens. One of the fonts in the font menu, served to the browser and embedded in PDFs.
- By
- The Inter Project Authors
- License
- SIL Open Font License 1.1
-
JetBrains Mono
A monospaced face JetBrains made for reading code, with a tall x-height and clear letters that are easy to tell apart. One of the fonts in the font menu, served to the browser and embedded in PDFs.
- By
- The JetBrains Mono Project Authors
- License
- SIL Open Font License 1.1
-
Liberation Mono
A monospaced face by Steve Matteson, made for Red Hat to the same measurements as Courier New. The font code is set in, and one in the font menu.
- By
- Red Hat, Inc., with digitized data from Google
- License
- SIL Open Font License 1.1
-
Liberation Sans
A sans serif by Steve Matteson, made for Red Hat to the same measurements as Arial, so text set in one takes the same space in the other. A font in the font menu that lays text out as Arial would.
- By
- Red Hat, Inc., with digitized data from Google
- License
- SIL Open Font License 1.1
-
Liberation Serif
A serif by Steve Matteson, made for Red Hat to the same measurements as Times New Roman, so text set in one takes the same space in the other. A font in the font menu that lays text out as Times New Roman would.
- By
- Red Hat, Inc., with digitized data from Google
- License
- SIL Open Font License 1.1
-
Literata
A book face by TypeTogether, first made for Google Play Books. One of the fonts in the font menu, served to the browser and embedded in PDFs.
- By
- The Literata Project Authors
- License
- SIL Open Font License 1.1
-
Noto Sans
The Latin, Greek and Cyrillic sans serif of Google's Noto project, which sets out to cover every script in Unicode. One of the fonts in the font menu, served to the browser and embedded in PDFs.
- By
- The Noto Project Authors
- License
- SIL Open Font License 1.1
-
Onest
A sans serif by Dmitri Voloshin of TypeType, released through Google Fonts. Oficina's interface was set in it until October 2026; Docs still serves its files to pages saved before the change.
- By
- The Onest Project Authors
- License
- SIL Open Font License 1.1
- Version
- Google Fonts v11
-
Playfair Display
A high-contrast display serif by Claus Eggers Sørensen, after the European types of the late eighteenth century. One of the fonts in the font menu, served to the browser and embedded in PDFs.
- By
- The Playfair Display Project Authors
- License
- SIL Open Font License 1.1
-
Source Sans 3
Adobe's first open-source sans serif, designed by Paul D. Hunt for clear reading in interfaces and long text. One of the fonts in the font menu, served to the browser and embedded in PDFs.
- By
- Adobe
- License
- SIL Open Font License 1.1
-
Source Serif 4
A serif by Frank Grießhammer for Adobe, drawn from the transitional types of Pierre-Simon Fournier and made to sit beside Source Sans. One of the fonts in the font menu, served to the browser and embedded in PDFs.
- By
- Adobe
- License
- SIL Open Font License 1.1
-
Zilla Slab
A slab serif Typotheque made for Mozilla's identity. One of the fonts in the font menu, served to the browser and embedded in PDFs.
- By
- The Mozilla Foundation
- License
- SIL Open Font License 1.1
Go libraries
-
bigfft
Multiplies very large integers quickly, using the fast Fourier transform. The SQLite driver's math library uses it.
- By
- Rémy Oudompheng and The Go Authors
- License
- BSD 3-Clause License
- Version
- v0.0.0-20230129092748-24d4a6f8daec
-
chi
A small, fast HTTP router for Go, built on the standard library's own handlers. Every page and request is routed with it.
- By
- Peter Kieltyka and Google Inc.
- License
- MIT License
- Version
- v5.3.2
-
go-humanize
Formats numbers, sizes and times the way people say them. The SQLite driver's C library uses it.
- By
- Dustin Sallings
- License
- MIT License
- Version
- v1.0.1
-
go-json-experiment
The Go team's work on a second version of Go's JSON package, published ahead of the standard library. Docs reads its team and Home settings with it.
- By
- The Go Authors
- License
- BSD 3-Clause License
- Version
- v0.0.0-20250725192818-e39067aee2d2
-
go-text/typesetting
A pure-Go font reader and text shaper, a port of HarfBuzz's shaping. The PDF export shapes text with it, so its lines break where the editor's do.
- By
- The go-text authors
- Version
- v0.3.6-0.20261020210405-a4cf8f401e16
-
golang.org/x/image
The Go project's supplementary image libraries. The PDF export measures glyphs in its fixed-point units.
- By
- The Go Authors
- License
- BSD 3-Clause License
- Version
- v0.23.0
-
golang.org/x/sys
The Go project's low-level access to the operating system. SQLite and wazero use it.
- By
- The Go Authors
- License
- BSD 3-Clause License
- Version
- v0.46.0
-
golang.org/x/text
The Go project's text libraries: languages, Unicode normalization and more. Docs normalizes titles with it, so a search finds an accented word however it was typed.
- By
- The Go Authors
- License
- BSD 3-Clause License
- Version
- v0.39.0
-
GORM
An object-relational mapper for Go. Rastrillo's database layer is built on it.
- By
- Jinzhu
- License
- MIT License
- Version
- gorm.io/gorm v1.31.2, gorm.io/plugin/dbresolver v1.6.2
-
inflection
Turns English nouns into their plurals and back. GORM names database tables with it.
- By
- Jinzhu
- License
- MIT License
- Version
- v1.0.0
-
Keymail sign-in
Email-first sign-in that knows about Keymail: a claimed Keymail inbox signs in through Keymail, and any other address gets a magic link. Docs signs people in with it.
- By
- Keymail
- License
- No license published
- Version
- v0.1.1
-
libc for Go
The C standard library, translated to Go, for C programs that have been translated too. SQLite runs on it.
- By
- The Libc Authors
- License
- BSD 3-Clause License
- Version
- v1.74.1
-
mathutil
Mathematical utilities for Go. SQLite's C library uses it.
- By
- The mathutil Authors
- License
- BSD 3-Clause License
- Version
- v1.7.1
-
memory
A memory allocator for Go programs that manage memory the way C does. SQLite's C library allocates with it.
- By
- The Memory Authors
- License
- BSD 3-Clause License
- Version
- v1.11.0
-
now
Time helpers for Go: the start and end of a day, a week or a month. GORM uses it.
- By
- Jinzhu
- License
- MIT License
- Version
- v1.1.5
-
Rastrillo
The web framework every Oficina app is built on: routing, sessions and sign-in, the database layer, forms and the page vocabulary. Docs is built on it. The server still links the copy at its old path, github.com/carlosframework/rastrillo, for one bridge to the native apps' server.
- By
- The Rastrillo authors
- License
- Mozilla Public License 2.0
- Version
- amadan.net/rastrillo/rastrillo/money v0.1.0, amadan.net/rastrillo/rastrillo v0.29.1-0.20261027164201-054787952dd2, github.com/carlosframework/rastrillo v0.23.0
-
Rastrillo Native
The native half of the Rastrillo framework: sign-in, accounts and shared parts for Oficina's Mac and iPhone apps, and the server side they sign in through. The server signs the Mac and iPhone apps in through its server half, which gives each app its own token.
- By
- The Rastrillo authors
- License
- Mozilla Public License 2.0
- Version
- v0.0.0-20260923173546-2a5d07b2c8d3
-
SQLite for Go
SQLite, the public-domain database engine, translated from C to pure Go by Jan Mercl. Docs keeps its documents in SQLite, with no C compiler needed to build it.
- By
- The Sqlite Authors; SQLite itself is in the public domain
- License
- BSD 3-Clause License
- Version
- v1.55.0
-
uuid
Google's package for generating and parsing UUIDs. Docs gives documents and their stored content their identifiers with it.
- By
- Google Inc.
- License
- BSD 3-Clause License
- Version
- v1.6.0
-
wazero
A WebAssembly runtime written in Go, with no dependencies outside the standard library. The server runs Docs' document core, Rust compiled to WebAssembly, inside it.
- By
- The wazero authors
- License
- Apache License 2.0
- Version
- v1.12.0
JavaScript libraries
-
lib0
Kevin Jahns' library of small utilities, including the binary encoding Yjs writes its updates in. Yjs is built on it, and the editor encodes its updates with it.
- By
- Kevin Jahns
- License
- MIT License
- Version
- 0.2.117
-
orderedmap
A small persistent map that keeps its keys in order. ProseMirror keeps its schema's nodes and marks in it.
- By
- Marijn Haverbeke and others
- License
- MIT License
- Version
- 2.1.1
-
ProseMirror
A toolkit for building rich-text editors on the web, by Marijn Haverbeke. A document is a structured tree, not a pile of HTML, and every change is a step that can be mapped, undone and shared. The editor you type in is ProseMirror.
- By
- Marijn Haverbeke and others
- License
- MIT License
- Version
- prosemirror-commands 1.7.2, prosemirror-inputrules 1.5.1, prosemirror-keymap 1.2.3, prosemirror-model 1.25.11, prosemirror-schema-basic 1.2.4, prosemirror-schema-list 1.5.1, prosemirror-state 1.4.4, prosemirror-transform 1.12.0, prosemirror-view 1.42.3
-
w3c-keyname
Reads the name of a pressed key from a keyboard event, the same way in every browser. The editor's keyboard shortcuts are read with it.
- By
- Marijn Haverbeke and others
- License
- MIT License
- Version
- 2.2.8
-
y-prosemirror
Binds a ProseMirror editor to a Yjs document, so the editor shows the shared document and edits it. It joins the editor to the document, and its undo manager is the editor's undo.
- By
- Kevin Jahns
- License
- MIT License
- Version
- 1.3.7
-
y-protocols
The messages Yjs clients exchange to sync documents and share who is present. y-prosemirror uses it.
- By
- Kevin Jahns
- License
- MIT License
- Version
- 1.0.7
-
Yjs
A CRDT by Kevin Jahns: shared data that several people can change at once and that always merges to the same result, with no server deciding the order. In the browser, a document is a Yjs document, so edits from several people merge.
- By
- Kevin Jahns, and the Chair of Computer Science 5 (Databases and Information Systems), RWTH Aachen University
- License
- MIT License
- Version
- 13.6.27
Rust libraries
-
aHash
A fast hash function for hash tables, made to resist deliberately colliding keys. Yrs's hash tables use it.
- By
- Tom Kaitchuck
- Version
- 0.8.12
-
arc-swap
A shared pointer that can be swapped atomically, for data read often and changed rarely. Yrs uses it.
- By
- The arc-swap developers
- Version
- 1.9.2
-
async-lock
Locks and other synchronization primitives for asynchronous Rust, from the smol project. Yrs uses it.
- By
- Stjepan Glavina and the smol-rs contributors
- Version
- 3.4.2
-
cfg-if
A macro for writing code that differs by platform without a tangle of conditions. Several of the core's crates use it.
- By
- Alex Crichton
- Version
- 1.0.4
-
crossbeam-utils
Utilities for concurrent programming in Rust, from the Crossbeam project. DashMap uses it.
- By
- The Crossbeam Project Developers
- Version
- 0.8.22
-
DashMap
A concurrent hash map for Rust. Yrs uses it.
- By
- Acrimon
- License
- MIT License
- Version
- 6.2.1
-
event-listener
Lets asynchronous tasks and threads wait to be told something happened. async-lock uses it.
- By
- Stjepan Glavina, John Nunley and the smol-rs contributors
- Version
- 5.4.2
-
event-listener-strategy
Waits on an event-listener either by blocking or by polling, from one piece of code. async-lock uses it.
- By
- John Nunley and the smol-rs contributors
- Version
- 0.5.4
-
fastrand
A small, fast random number generator, not for cryptography. Yrs picks client identifiers with it. Docs carries a copy patched to build for WebAssembly without JavaScript.
- By
- Stjepan Glavina and the smol-rs contributors
- Version
- 2.5.0
-
getrandom
Reads random bytes from whatever the platform provides. fastrand would ask the system for randomness through it; the core's own backend refuses every request, because the server hands it identifiers and client ids explicitly.
- By
- The rust-random Project Developers and The Rust Project Developers
- Version
- 0.4.3
-
hashbrown
A Rust port of Google's SwissTable hash map, the one behind Rust's own HashMap. DashMap uses it.
- By
- Amanieu d'Antras
- Version
- 0.14.5
-
itoa
Writes integers as text, fast. serde_json uses it.
- By
- David Tolnay
- Version
- 1.0.18
-
memchr
Finds bytes in a string, using the processor's vector instructions where it can. serde_json uses it.
- By
- Andrew Gallant
- License
- The Unlicense or MIT License
- Version
- 2.8.3
-
once_cell
Values that are set once and then only read, such as lazily built tables. DashMap and aHash use it.
- By
- Aleksey Kladov
- Version
- 1.21.4
-
parking_lot
Smaller, faster locks for Rust, and the parts to build more of them. DashMap uses it.
- By
- The Rust Project Developers
- Version
- lock_api 0.4.14, parking_lot_core 0.9.12
-
pin-project-lite
Safe pin projection for asynchronous Rust, written with plain macros. async-lock uses it.
- By
- Taiki Endo
- Version
- 0.2.17
-
scopeguard
Runs clean-up code when a scope ends, however it ends. parking_lot uses it.
- By
- Ulrik Sverdrup (bluss) and the scopeguard developers
- Version
- 1.2.0
-
Serde
Rust's framework for turning data structures into formats such as JSON and back. Yrs uses it.
- By
- Erick Tryzelaar and David Tolnay
- Version
- 1.0.229
-
serde_json
JSON for Serde. Yrs reads and writes JSON values with it, and the core's tests use it.
- By
- Erick Tryzelaar and David Tolnay
- Version
- 1.0.151
-
smallstr
A string that keeps short text inline instead of on the heap. Yrs uses it.
- By
- Murarth
- Version
- 0.3.1
-
smallvec
A vector that keeps its first few items inline instead of on the heap. Yrs uses it.
- By
- The Servo Project Developers
- Version
- 1.15.2
-
thiserror
Writes the boilerplate of Rust error types for you. Yrs's errors are written with it.
- By
- David Tolnay
- Version
- 2.0.20
-
Yrs
The Rust port of Yjs, by Kevin Jahns and Bartosz Sypytkowski, which reads and writes the same updates as Yjs itself. The server's document core is Yrs, compiled to WebAssembly: it checks, merges and renders every edit. Docs carries a copy with fixes for deletions.
- By
- Kevin Jahns and Bartosz Sypytkowski
- License
- MIT License
- Version
- 0.23.5
-
zerocopy
Google's library for safely reading and writing raw bytes as typed data, without copying. aHash uses it.
- By
- The Fuchsia Authors
- Version
- 0.8.56
-
zmij
Writes floating-point numbers as the shortest text that reads back exactly. serde_json uses it.
- By
- David Tolnay
- License
- MIT License
- Version
- 1.0.23
Icons and artwork
Tools
-
async-trait
Lets a Rust trait have asynchronous methods. Yrs uses it while it is built.
- By
- David Tolnay
- Version
- 0.1.92
-
Brotli
Google's compression format, the one inside every WOFF2 font. fontTools compresses the browser's font files with it.
- By
- The Brotli Authors
- License
- MIT License
- Version
- 1.2.1
-
bubblewrap
Runs a program in a sandbox of its own, without root. On Linux the core's WebAssembly is built inside it instead of Docker, for the same identical bytes.
- By
- The bubblewrap contributors
-
chromedp
Drives Chrome from Go through the DevTools protocol. Docs' browser tests drive Chrome with it.
- By
- Kenneth Shaw
- License
- MIT License
- Version
- github.com/chromedp/cdproto v0.0.0-20250724212937-08a3db8b4327, github.com/chromedp/chromedp v0.14.2
-
Chromium
The open-source browser Google Chrome is built from. Docs' browser tests drive it, through chromedp and the browser drive script.
- By
- The Chromium Authors
- License
- BSD 3-Clause License
-
Docker
Runs software in containers, from images pinned by digest. The core's WebAssembly is built in a pinned Rust image, so every machine builds the same bytes.
- By
- Docker, Inc.
- License
- Apache License 2.0
-
esbuild
A JavaScript bundler and minifier, written in Go by Evan Wallace. It builds the editor's JavaScript into the bundles Docs serves.
- By
- Evan Wallace
- License
- MIT License
- Version
- 0.28.2
-
fontTools
The Python library for reading, changing and writing font files. It cuts each font's styles and builds the browser's copies and the font menu's previews.
- By
- Just van Rossum and the fontTools contributors
- License
- MIT License
- Version
- 4.67.0
-
Go
The programming language, compiler and standard library from Google's Go team. The Docs server is written in Go, and its standard library is compiled into it.
- By
- The Go Authors
- License
- BSD 3-Clause License
- Version
- go1.26.5
-
Node.js
The JavaScript runtime outside the browser. The editor's bundles are built and its logic is tested under Node.
- By
- OpenJS Foundation and Node.js contributors
- License
- MIT License
-
npm
The package manager that ships with Node.js. It installs the editor's locked JavaScript dependencies for the build and the tests.
- By
- npm, Inc. and the npm contributors
- License
- Artistic License 2.0
-
Playwright
Microsoft's library for driving Chromium, Firefox and WebKit from tests. The font checks run in Safari's engine as well as Chrome's through it.
- By
- Microsoft Corporation
- License
- Apache License 2.0
- Version
- 1.62.1
-
pngjs
Reads and writes PNG images in plain JavaScript. The font checks compare screenshots with it.
- By
- Luke Page and the pngjs contributors
- License
- MIT License
- Version
- 7.0.0
-
proc-macro2
The compiler's macro interface as an ordinary library, so macros can be written and tested like any other code. The core's derive macros use it while it is built.
- By
- David Tolnay and Alex Crichton
- Version
- 1.0.107
-
Python
The Python programming language and its standard library. The font vendoring, the shaping goldens and the native checks are Python scripts.
- By
- Python Software Foundation
-
quote
Writes Rust code from inside a macro. The core's derive macros use it while it is built.
- By
- David Tolnay
- Version
- 1.0.47
-
Rust
The Rust programming language, compiler and standard library. Docs' document core is written in Rust, and the parts of its standard library the core uses are compiled into its WebAssembly.
- By
- The Rust Project Developers
- Version
- 1.98.0
-
rustup
The Rust toolchain installer, which picks the pinned Rust version and its WebAssembly target. The gate checks the pinned Rust and its WebAssembly target are installed through it.
- By
- The Rust Project Developers
-
rustversion
Compiles code differently by Rust compiler version. arc-swap uses it while it is built.
- By
- David Tolnay
- Version
- 1.0.23
-
syn
A parser for Rust source code, for macros that read the code they are given. The core's derive macros use it while it is built.
- By
- David Tolnay
- Version
- 3.0.4
-
uharfbuzz
Python bindings for HarfBuzz, the text shaper in most browsers and operating systems. The PDF export's shaping is tested against HarfBuzz's through it.
- By
- The uharfbuzz contributors; HarfBuzz by Behdad Esfahbod and others
- Version
- 0.57.0
-
unicode-ident
Says which characters may start or continue an identifier, from Unicode's own tables. syn uses it while the core is built.
- By
- David Tolnay; tables by Unicode, Inc.
- Version
- 1.0.24
-
version_check
Asks which Rust compiler is building the code. aHash uses it while it is built.
- By
- Sergio Benitez
- Version
- 0.9.5
-
wasmi
A WebAssembly interpreter written in Rust, by Robin Freyler. It runs anywhere Rust does, including where generating machine code at run time is not allowed, as on iOS. The core's tests run its WebAssembly in wasmi.
- By
- Robin Freyler
- Version
- 0.32.3
-
wasmparser
The Bytecode Alliance's WebAssembly parser, part of wasm-tools. The core's tests check its WebAssembly imports nothing from its host.
- By
- Yury Delendik and the Bytecode Alliance
- Version
- 0.258.0