# opentypejs/opentype.js

Read and write OpenType fonts using JavaScript.

Repository: https://github.com/opentypejs/opentype.js
Canonical: https://ross.abutalabs.com/products/opentypejs
Homepage: https://opentype.js.org/
Language: JavaScript
License: MIT
License Family: permissive
Topics: opentype, javascript, truetype, font, kerning, opentypejs, glyphs, nodejs, otf
Last push: 2026-08-08T03:59:23+00:00

## Health v2 (maintenance only)
Score: 92/100 (v2, computed 2026-09-02T17:46:02.011165+00:00)
- activity 96, release rhythm 83, longevity 100
- inputs: {"age_days": 4723, "days_push": 25, "days_rel": 119, "gap_med": 6, "n_releases_24m": 2}
- flags: none
- formula: round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)

## Adoption (not part of the score)
Stars 5012, forks 553 (observed 2026-08-28T04:09:04.641556+00:00)

## What it is
opentype.js is a JavaScript library for parsing and writing OpenType and TrueType fonts in the browser and Node.js. It provides access to glyph letterforms, bézier paths, kerning, ligatures, and color glyphs from font files.

## Use cases
- parse ttf and otf font files in javascript
- convert text to svg bezier paths using a font
- read glyph outlines and metrics from a font
- apply kerning and ligatures when rendering text to paths
- extract font metadata and character maps in nodejs
- render custom text with color glyphs and emojis on canvas

## When to choose
- you need low-level access to font glyphs and outlines in JavaScript
- you want to render text as vector paths in the browser or Node.js
- you need to inspect or modify OpenType/TrueType font data programmatically

## When to avoid
- you just need to display text with a webfont, use CSS instead
- you need full font editing or font file creation with advanced features
- you work outside the JavaScript ecosystem

## Facets
- artifact type: library
- maturity: active
- function: parser, graphics, image-processing
- domain: web-development, graphics, frontend
- platform: browser
- tags: opentype, truetype, fonts, glyphs, kerning, typography, woff, ttf, otf, nodejs, javascript

## Member repositories
- opentypejs/opentype.js (main) score 92

## Provenance
- Observed fields: from GitHub, fetched 2026-08-28T04:09:04.641556+00:00.
- Health v2: computed from the inputs above; adoption is never an input.
- Inferred fields (summary, facets, guidance): AI-extracted, prompt v1, taxonomy v1, on 2026-08-29T18:17:33.069989+00:00, confidence not recorded.
  - readme: https://github.com/opentypejs/opentype.js (fetched 2026-08-28T04:09:04.641556+00:00, sha 31f243102ef6)
  - homepage: https://opentype.js.org/ (fetched 2026-08-29T08:58:38.414715+00:00, sha 471eea4be6f5)
  - registry_npm: https://registry.npmjs.org/opentype.js (fetched 2026-08-29T08:58:38.424095+00:00, sha fc2cb0959485)
- Data as of 2026-08-30T08:39:29.467469+00:00.
