Skip to content

es-toolkit

A JavaScript utility library of everyday helper functions, a modern alternative to lodash.

Stars
11.4k
Forks
635
Licence
MIT
Language
TypeScript
Last update
4 days ago
Type
Library

What it is

es-toolkit is a JavaScript and TypeScript library of common helper functions such as debounce, chunk, pick and sum. Developers import only the functions they need, which keeps the code added to a web app small. It also includes a compatibility layer so projects using lodash can switch to it.

  • Debounce a search input so it only fires after the user pauses typing
  • Split a large array into smaller chunks, for example for batched requests
  • Pick specific fields from an object before sending it to an API
  • Use type guards like isNotNil to filter null values in TypeScript code

Great for

  • JavaScript or TypeScript developers who want common helper functions
  • Teams moving an existing lodash codebase toward a smaller, faster library
  • Front-end projects where bundle size matters
  • Developers who want strong type annotations and type guards

Not ideal for

  • Non-developers, since it is code you import into a project rather than a standalone app
  • Projects that need helpers outside JavaScript, because the README only covers JavaScript and TypeScript
  • Anyone who needs the exact behaviour of a specific lodash version without testing, since the README does not document edge-case differences
Step-by-step guide: how to use es-toolkitInstall, first run, examples, tips and FAQs

How to get it

  1. 1

    Install with a package manager

    You'll need: Node.js or a JavaScript project with a package manager

    Install the package from npm

    npm install es-toolkit
  2. 2

    Run it

    • Install the package with your package manager
    • Import the functions you need, for example: import { chunk, debounce } from 'es-toolkit';
    • Call a function, such as chunk(array, 2), and check the output in the console
  3. 3

    Get the most out of it

    • Use the AI Integration guide and Agent Skills (npx skills add toss/es-toolkit) with AI coding tools like Claude Code, Cursor, or Copilot
    • Import individual functions so tree shaking can remove unused code
    • Use es-toolkit/compat when migrating away from lodash
    • Use the type guards such as isNotNil for safer TypeScript code

Downloads

Strengths

  • Tree shaking is supported out of the box, so unused functions are not bundled
  • Includes a compatibility layer (es-toolkit/compat) for replacing lodash
  • Built-in TypeScript types and an MIT license

Trade-offs

  • Performance and bundle-size figures come from the project's own claims and are linked to documentation pages not reviewed here
  • Some functions may not behave identically to lodash; the README does not detail all differences
  • Being a library, it only helps when you are already writing JavaScript code

Stats synced from GitHub. The assessment above was drafted with AI from the project's README on 2026-10-29 and may miss recent changes — check the README before relying on a command. MIT licence: free to use, modify and distribute, including commercially, as long as you keep the copyright notice.