Skip to main content

🤏 A collection of tiny JS libraries (under 2 kB) to put your bundle on a diet

772
GitHub Stars
79
Curated Resources
13
Categories
1 day ago
Last Refreshed
UI FrameworksEvent EmittersState ManagersRouters and URL UtilsAPI LayerI18NDates and TimeGeneric UtilitiesValidationUnique ID GenerationColorsTouch GesturesText Search

Use this list with your AI agent

Add the Context Awesome MCP server to Claude, Cursor, or any MCP client, then ask:

"Show me reactive programming resources from awesome-tiny-js"

Installation instructions →

What's inside

Touch Gestures

  • alloyfinger

    Pan, swipe, tap, doubletap, longpress,

  • detect-it

    Detect present and primary input method (touch / mouse) and supported events,

  • pointer-tracker

    Unified interface for mouse, touch and pointer events,

  • tinygesture

    Configurable pan, swipe, tap, doubletap, longpress.

UI Frameworks

  • arrowjs

    Tagged templates + reactive data,

  • fre

    React-like library with hooks and concurrency,

  • hyperapp

    vDOM framework with pure JS syntax and immutable state,

  • preact

    React-like API (pre-hooks). Cool ecosystem of similarly tiny tools and components. Highly recommended.

  • redom

    Hyperapp-style templates with

  • superfine

    Hyperapp with state & effect hooks removed,

Validation

  • banditypes

    The smallest validation library:

  • deep-waters

    Composable functional validators,

  • superstruct

    The most popular modular validation library with good tree-shaking,

  • v8n

    zod-style API with fine-grained checks:

  • valibot

    Another modular validation library,

State Managers

  • callbag-basicsReactive Programming

    Rx-style event streams,

  • exome

    Atomic stores with lots of framework connectors,

  • flimsySignals

    Signals from Solid (it

  • flydReactive Programming

    Rx-styled event streams,

  • hyperactivSignals

    4 functions to make objects observable and listen to changes,

  • nanostores

    Modular store with good tree-shaking support,

Colors

Dates and Time

I18N

  • eo-locale

    Interpolation and dates / numbers,

  • lingui

    Small core with template strings,

  • @nanostores/i18n

    Detect locale, load dictionaries, format dates / numbers,

  • rosetta

    Bare-bones template strings (

Text Search

  • fuzzyFuzzy search

    Index-free, can highlight matches.

  • fuzzysearchFuzzy search

    One string at a time, does not compute score / rank.

  • fuzzy-searchFuzzy search

    With stateful index.

  • fuzzysetFuzzy search

    Find misspellings, e.g. missipissi -> Missisipi,

  • fzy.jsFuzzy search

    Matches one string at a time, tree-shakeable scores and match highlighting.

  • js-search

    Feature-rich and customizable: multi-field indices, stop words, custom stemmers and tokenizers.

Showing a sample of 79 resources. View the full list on GitHub →