yuanqing/charming
:tophat: Lettering.js in vanilla JavaScript observed · 2026-09-03
Health v2 · maintenance only
32/100
- Activity 0
- Release rhythm 35
- Longevity 100
Flags: no_releases
How is this computed?
round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10) — computed 2026-09-02. Adoption (stars, forks) is never an input.
- gap_med: n/a
- age_days: 4417
- days_rel: n/a
- days_push: 2041
- n_releases_24m: 0
Adoption not part of the score
1001 stars · 59 forks observed · 2026-09-03
What it is AI-extracted, prompt v1, taxonomy v1, 2026-08-30, confidence not recorded
A tiny vanilla JavaScript library that wraps each character (or word) of an element's text in individual DOM elements, a dependency-free take on Lettering.js. It supports custom tag names, class names, and split logic, and adds aria attributes for accessibility.
Use cases
- animate individual letters of a headline
- apply per-character kerning or styling in css
- split text into spans for lettering effects
- wrap words or characters in dom elements without jquery
- create typographic text reveal animations
When to choose
- you want Lettering.js behavior with zero dependencies
- you need accessible per-character text splitting with aria-label support
- you want configurable tag names, class names, or split logic
When to avoid
- you need a maintained library with active development
- you need framework-specific text splitting for React or Vue
- you need advanced text layout beyond simple character wrapping
Facets
library · maturity maintenance
ui-components animation templating web-development frontend web-design browser typography lettering dom-manipulation vanilla-javascript text-splitting accessibility nodejs
10 sources
- readme: https://github.com/yuanqing/charming · fetched 2026-09-03 · a4806ea70a72
- homepage: https://codepen.io/lyuanqing/pen/YeYdrm · fetched 2026-08-29 · f901af2b500f
- site_page: https://blog.codepen.io/documentation/editor/using-html-preprocessors · fetched 2026-08-29 · cfa7a4be5259
- site_page: https://blog.codepen.io/documentation/features/preview-template · fetched 2026-08-29 · 0f60651134d7
- site_page: https://blog.codepen.io/documentation/editor/using-css-preprocessors · fetched 2026-08-29 · b8121e307545
- site_page: https://blog.codepen.io/documentation/url-extensions · fetched 2026-08-29 · 80a5097ebb57
- site_page: https://blog.codepen.io/documentation/editor/adding-external-resources · fetched 2026-08-29 · e4239aba0ce2
- site_page: https://blog.codepen.io/documentation/editor/using-js-preprocessors · fetched 2026-08-29 · 1e2af3f6a4b4
- site_page: https://blog.codepen.io/documentation/adding-external-resources · fetched 2026-08-29 · e4239aba0ce2
- site_page: https://blog.codepen.io/documentation/features/tab-triggers · fetched 2026-08-29 · 909a7e1386f7
Member repositories
| Repository | Role | Health v2 |
|---|---|---|
| yuanqing/charming | main | 32 |
For agents
markdown · JSON · MCP: product_card(name="yuanqing/charming")
Data as of 2026-08-30T08:39:29.467469+00:00 · Report a problem