
bat
A cat clone with wings
The Lens
Bat does the same thing but with syntax highlighting, line numbers, and git diff markers built in. It's cat with a brain. You type `bat file.py` and get a color-coded, numbered, annotated view of your file.
Apache 2.0, written in Rust. It auto-detects the language for syntax highlighting, shows git modifications in the margin, and pages long files through less automatically. You can alias it to cat and just have a better experience everywhere.
Everything is free. No paid tier, no commercial version. Single binary, install from any package manager.
The catch: there really isn't one for normal use. bat is slightly slower than cat on huge files (hundreds of megabytes) because it's parsing syntax, but for files you'd actually read, the difference is imperceptible. Some people find the output too busy for piping to other commands, bat does have a `, plain` flag for that, or you can use `bat , style=plain` to strip decorations. If you pipe output, bat auto-detects it and falls back to plain text, so it plays nice with Unix pipelines.
Free vs Self-Hosted vs Paid
fully freeFully open source under Apache 2.0. No paid features, no commercial edition. A single binary you install and use.
**Cost of use:** $0. Available via brew, apt, cargo, choco, and every major package manager.
Free. Zero strings. Install and forget.
Similar Tools
About
- Stars
- 57,984
- Forks
- 1,498
Explore Further
More tools in the directory
Get tools like this delivered weekly
The Open Source Drop — the best new open source tools, analyzed. Free.



