
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
How to get it
- 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
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
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.