On this page
Overview
ripgrep (rg) is a line-oriented command-line search tool that recursively searches directories. By default it respects .gitignore-style rules and skips hidden and binary files. Regex search, file-type filtering, Unicode support, and optional PCRE2 can be combined for source-tree navigation.
Features and best fit
Based on official documentation; not hands-on tested · Content checked:
Key features
Recursively search while applying ignore rules
ripgrep searches the current directory recursively by default and automatically filters .gitignore, .ignore, and .rgignore rules, hidden files, and binary files.
Sources: [1]
Extend searches with file types, Unicode, and optional PCRE2
File-type include or exclude filters narrow search scope, Unicode support is enabled by default, and the optional PCRE2 engine supports constructs such as look-around and backreferences.
Sources: [1]
Search compressed files and preprocessed input
Common compressed formats can be searched with -z/--search-zip, and preprocessing hooks can transform inputs such as extracted PDF text before matching.
Sources: [1]
Best fit
Fits repeated source-code and large-text-tree search
It is well suited to finding identifiers, error messages, configuration, and regex patterns across repositories from a compact CLI workflow.
Sources: [1]
Before adoption
Understand which files automatic filtering excludes
Ignore rules, hidden files, and binary files are excluded by default. rg -uuu can disable automatic filtering when needed, at the cost of a broader and noisier search.
Sources: [1]
It is not a POSIX grep replacement for every environment
The README explicitly notes that ripgrep is not ubiquitous and does not conform to a standard such as POSIX, so portable shell scripts should verify compatibility requirements.
Sources: [1]
Official sources
- [1]ripgrep 15.2.0 README(2026-10-03)
- [2]ripgrep 15.2.0 Cargo.toml(2026-10-03)
- [3]ripgrep dual-license notice(2026-10-03)
- [4]ripgrep 15.2.0 release(2026-10-03)
Supplemental curator note
ripgrep's default ignore, hidden-file, and binary filtering keeps code-search output focused. When an expected file is missing from results, check automatic filtering before assuming the pattern is wrong.
Try it in 3 steps
- 1
Install ripgrep 15.2.0 with Cargo
Build and install the pinned stable release with a Rust 1.85 or newer toolchain.
cargo install ripgrep --version 15.2.0 - 2
Verify the
rgversionConfirm the installed binary starts and reports version 15.2.0.
rg --version - 3
Search a small directory with a regex
Search only local text and confirm the line containing
TODOis returned.mkdir -p rg-demo && printf 'TODO: review\ndone\n' > rg-demo/sample.txt && rg 'TODO' rg-demo
Growth
Growth trends · Last 30 days
68,810 Stars
Trend data is still being collected.
Development activity
Last 90 days · weekly
- Commits (last 30 days)
- 0
- Open PRs
- 76
Development activity is still being collected.
Built with
Categories and tags
Categories
GitHub data
GitHub dataView detailed GitHub data
GitHub Topics
- ripgrep
- recursively-search
- search
- regex
- gitignore
- grep
- command-line-tool
- command-line
- cli
- rust
Related information
Write a related articleShare a guide or use case for this OSS in Markdown. Articles are published after administrator approval.
Explore next
- Tabby33,891 Stars
1 shared tag(s) · 1 shared category(s) · Same language
serve code completion and development knowledge from your infrastructure
Rust - Turborepo31,167 Stars
1 shared tag(s) · 1 shared category(s) · Same language
use task graphs and caching to run only the monorepo build, test, and lint work that matters
Rust - Grok Build27,213 Stars
1 shared tag(s) · 1 shared category(s) · Same language
Run file edits, shell tools, MCP, and subagents from one Rust coding-agent runtime across TUI, headless, and ACP modes
Rust - Actix Web24,852 Stars
1 shared tag(s) · 1 shared category(s) · Same language
build high-performance HTTP APIs and WebSocket services in Rust on the Tokio async ecosystem
Rust - Turso Database24,546 Stars
1 shared tag(s) · 1 shared category(s) · Same language
run SQLite-compatible SQL on a Rust database engine with bindings for multiple languages
Rust - Neon23,168 Stars
1 shared tag(s) · 1 shared category(s) · Same language
Decouple PostgreSQL compute from storage for branching and elastic database workflows
Rust
Report incorrect information
Tell us if any listing information is incorrect or outdated.