Skip to content

Ramda vs You Don't Need Lodash/Underscore

Which should you use? A side-by-side look at what each one does, who it suits, what it costs, how hard it is to set up, and where each falls short.

Ramda

Open source · MIT

A JavaScript utility library for writing functional-style code without changing your data.

A list of JavaScript utility functions you can often replace with built-in language features, plus an ESLint p

The short answer

Choose Ramda if you need…

  • JavaScript developers who want to write functional-style data transformations
  • Teams that prefer immutable data handling and small composable functions
  • Developers building function pipelines from simpler functions
  • Projects that can install an npm package and use modern JavaScript modules

Choose You Don't Need Lodash/Underscore if you need…

  • Front-end developers who target modern browsers and want fewer dependencies
  • Teams trying to reduce bundle size by dropping small utility libraries
  • Developers learning which ES5 and ES2015 methods already exist natively
  • Projects that want an ESLint rule to point out unnecessary utility library calls

Side-by-side

RamdaYou Don't Need Lodash/Underscore
TypeLibraryLearning resource
PriceFree and open sourceFree and open source
LicenceMITMIT
GitHub stars24.1k19.1k
Setup difficultyIntermediateBeginner
How you get itInstall with a package managerInstall with a package manager
Main languageJavaScriptJavaScript
Last code update25 days ago20 days ago

What each one is

Ramda

Ramda is a JavaScript library of helper functions for transforming data in a functional style. Its functions are automatically curried and take the data as the last argument, so you can chain small functions into pipelines. It is designed so that it never mutates the data you pass in.

You Don't Need Lodash/Underscore

This is a reference guide that shows how common Lodash and Underscore helper functions can be written with plain JavaScript built into the language, such as Array and Object methods. Each entry places the library version beside a native version so you can compare them. It also includes an ESLint plugin that flags code where a native alternative may work instead.

Best for

Ramda

  • JavaScript developers who want to write functional-style data transformations
  • Teams that prefer immutable data handling and small composable functions
  • Developers building function pipelines from simpler functions
  • Projects that can install an npm package and use modern JavaScript modules

You Don't Need Lodash/Underscore

  • Front-end developers who target modern browsers and want fewer dependencies
  • Teams trying to reduce bundle size by dropping small utility libraries
  • Developers learning which ES5 and ES2015 methods already exist natively
  • Projects that want an ESLint rule to point out unnecessary utility library calls

Strengths

Ramda

  • Functions are automatically curried, which makes building new functions from old ones straightforward
  • Data is supplied last in arguments, which the README says supports pipeline-style code
  • Published as an npm package with browser, Deno and ES module builds

You Don't Need Lodash/Underscore

  • Clear side-by-side examples of library calls and native equivalents
  • Includes browser support tables for each native method shown
  • Optional ESLint plugin helps find candidates in existing code

Not ideal for

Ramda

  • Developers who want a general-purpose toolkit mixing paradigms; the README says Ramda is focused on functional style specifically
  • Beginners who are not yet comfortable with functions as values, since currying and composition take practice to read
  • Projects that need the library to enforce immutability; the README says Ramda does not enforce it

You Don't Need Lodash/Underscore

  • Projects that must support old engines without es5-shim or polyfills, since many native methods are missing there
  • Code that depends on Lodash null-safety or extra options, because the README notes native equivalents are not always null safe or as flexible
  • Anyone expecting a full drop-in replacement, since the README says the list is not a 1:1 comparison

Trade-offs

Ramda

  • Functional style with currying can be harder to read for developers new to the approach
  • The README notes that using the 'latest' CDN link risks breaking changes, so versions should be pinned
  • Tree-shaking results depend on the bundler and setup, according to the README

You Don't Need Lodash/Underscore

  • The README says it is not a 1:1 comparison, so some library behaviour is not matched
  • Native versions may not handle null or edge cases the way the library does
  • Browser support tables reflect older browser versions and the README is truncated in places

Getting started

Ramda

Install from npm

npm install ramda
Step-by-step guide: how to use Ramda

You Don't Need Lodash/Underscore

Install the ESLint plugin as a dev dependency

npm install --save-dev eslint-plugin-you-dont-need-lodash-underscore
Step-by-step guide: how to use You Don't Need Lodash/Underscore

Frequently asked questions

What is the difference between Ramda and You Don't Need Lodash/Underscore?

Ramda: A JavaScript utility library for writing functional-style code without changing your data. You Don't Need Lodash/Underscore: A list of JavaScript utility functions you can often replace with built-in language features, plus an ESLint p. Ramda suits javascript developers who want to write functional-style data transformations, while You Don't Need Lodash/Underscore suits front-end developers who target modern browsers and want fewer dependencies.

Are Ramda and You Don't Need Lodash/Underscore free?

Ramda: Free and open source. You Don't Need Lodash/Underscore: Free and open source.

Which is easier to set up, Ramda or You Don't Need Lodash/Underscore?

You Don't Need Lodash/Underscore is easier to get started with (rated beginner); Ramda is rated intermediate and usually needs more setup.

Is Ramda or You Don't Need Lodash/Underscore more popular?

Ramda has more GitHub stars (24.1k) than You Don't Need Lodash/Underscore (19.1k). Popularity isn't the same as fit — check which one matches your use case above.

What are other alternatives to Ramda and You Don't Need Lodash/Underscore?

Other options people compare them with include Immutable.js, Underscore.

Keep comparing

Built from our catalogue entries for both products: open-source details come from each project's README (AI-assisted, refreshed weekly) and GitHub data; AI-tool details are editorial. Spotted something wrong? Let us know from either product's page.