# shshaw/Splitting

JavaScript microlibrary to split an element by words, characters, children and more, populated with CSS variables!

Repository: https://github.com/shshaw/Splitting
Canonical: https://ross.abutalabs.com/products/splitting
Homepage: https://splitting.js.org
Language: JavaScript
License: MIT
License Family: permissive
Topics: css, text, animation, transition, css-vars, splitting, character, split
Last push: 2024-06-19T03:08:08+00:00

## Health v2 (maintenance only)
Score: 23/100 (v2, computed 2026-09-02T17:46:02.011165+00:00)
- activity 0, release rhythm 8, longevity 100
- inputs: {"age_days": 3162, "days_push": 805, "days_rel": null, "gap_med": null, "n_releases_24m": 0}
- flags: none
- formula: round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)

## Adoption (not part of the score)
Stars 1757, forks 74 (observed 2026-08-28T04:05:32.316884+00:00)

## What it is
Splitting.js is a tiny JavaScript microlibrary that splits DOM elements into words, characters, child nodes, and more, wrapping them in spans populated with CSS variables and data attributes. It unlocks CSS transitions and animations that were previously impractical, in a ~1.5kb gzipped package.

## Use cases
- animate text character by character with CSS
- split headings into words and letters for staggered animations
- add CSS variables to split elements for transitions
- create text reveal and entrance effects on websites
- split grid items or images for progressive animation
- progressively enhance text animations without breaking older browsers

## When to choose
- you want pure CSS-driven text animations with minimal JavaScript
- you need a tiny dependency for splitting text into words or characters
- you want to animate grids, images, or DOM children with staggered CSS effects

## When to avoid
- you need a full JavaScript animation engine with timeline control
- your project requires server-side text processing rather than DOM manipulation
- you need complex physics or scroll-based animation libraries

## Facets
- artifact type: library
- maturity: stable
- function: animation, ui-components, templating
- domain: web-development, frontend, web-design
- platform: browser
- tags: css-variables, text-splitting, microlibrary, text-animation, css-transitions, nodejs

## Member repositories
- shshaw/Splitting (main) score 23

## Provenance
- Observed fields: from GitHub, fetched 2026-08-28T04:05:32.316884+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-30T03:27:40.400287+00:00, confidence not recorded.
  - readme: https://github.com/shshaw/Splitting (fetched 2026-08-28T04:05:32.316884+00:00, sha 8d0da2dab2c9)
  - homepage: https://splitting.js.org (fetched 2026-08-29T11:06:10.010662+00:00, sha bbc0a2008a3c)
  - registry_npm: https://registry.npmjs.org/splitting (fetched 2026-08-29T11:06:10.019519+00:00, sha 23dee036e1c5)
- Data as of 2026-08-30T08:39:29.467469+00:00.
