Skip to content
← Back to all tools

ripgrep

Free

Search a whole codebase for a string in tens of milliseconds

Open Source No Ads No Tracking Offline No Sign-up Cross-platform

A recursive text search tool written in Rust that skips paths listed in .gitignore, binary files and hidden directories by default, which makes it one to two orders of magnitude faster than grep -r on a real project. It supports Unicode, multiline matching and filtering by file type, and is what powers VS Code's global search underneath.

Why we picked it

Dual-licensed Unlicense and MIT, 68,000 stars.

Half the speed is not algorithmic — it is that it does not search what it should skip. grep -r dutifully descends into node_modules, .git, build output and hundred-megabyte binaries; ripgrep reads .gitignore and does not go there. On a front-end project that difference is tens of milliseconds against tens of seconds.

The other half is implementation: a Rust regex engine that avoids backtracking blowup, with multithreaded directory traversal.

VS Code's global search is this. Many people use it daily without knowing.

To be clear about:

  • Skipping gitignored files by default is the feature, but it will miss things inside build output; -u or --no-ignore turns it off.
  • The regex syntax is the Rust regex crate's, without backreferences or lookaround. Those cases need grep -P.