sharkdp/bat

Published on Jul 19, 2026
★ 61k Rust MIT / Apache-2.0

cat's output, with syntax highlighting and your git changes inline

See your files the way your editor does

Same command. Readable output.

It's the official tagline: a cat clone with wings. Same one-word command, but the output comes back highlighted for a huge list of languages, with line numbers.

syntax highlighting — a large number of languages

It shows what you changed, inline.

bat talks to git. Modified lines get marked right in the left margin — you see your uncommitted changes while you're reading the file, not after a diff.

git gutter — modifications vs. the index

Pipe it — it behaves like cat.

The part that makes it safe: pipe it into anything and it detects the non-interactive terminal, drops the decorations, and acts as a drop-in cat replacement. Scripts never notice.

piped → plain output · alias cat='bat --paging=never'

Line numbers, grid, and git marks.

Here's the project's own example, up close — numbers, a clean grid, the syntax doing the reading for you.

the README's own example output

59.8k stars. cat, with wings.

Fifty-nine point eight thousand stars, written in Rust, MIT or Apache licensed. Link's in the description — alias it once and forget cat ever looked like that.

sharkdp/bat · MIT / Apache-2.0