tldr vs cheat
tldr vs cheat: community-maintained tldr pages with Python, Rust and Node.js clients, or cheat's editable local cheatsheets written in Go.
Updated
short verdict
Pick tldr if you want a shared, community-maintained set of short examples for thousands of commands, with no files to write yourself. Pick cheat if you want your own notes: plain-text sheets you edit with `cheat -e`, tag, search and scope to a project with a `.cheat` directory.
Both tools answer the question "what was the syntax for tar again?" from the terminal, but they differ in who writes the content. tldr is a community-maintained collection of Markdown pages read through several clients. cheat is a single Go binary that reads plain-text cheatsheets from directories you configure, including ones you write yourself.
this page is for
- Developers who want ready-made command examples without writing any notes
- Developers who want personal or per-project cheatsheets they can edit and search
- Readers choosing between a shared example database and a local note system
Better pick when you want concise, community-written examples for common Unix, Linux, macOS and Windows commands out of the box.
best for
- Looking up common options with `tldr tar`
- Users who want translated pages
- Readers who prefer a Python, Rust or Node.js client
strengths
- Pages cover thousands of commands across Unix, Linux, macOS and Windows
- Official clients in Python, Rust and Node.js, plus a web interface
- Community translations provide pages in multiple languages
- Install via pipx, Homebrew (`tlrc`), Cargo or npm
weaknesses
- Content is community-maintained, so you add your own notes by contributing pages through GitHub
- No documented tagging, regex search or per-project sheets
Better pick when you want to write, tag and search your own cheatsheets, including project-specific ones.
best for
- Personal notes for commands you use occasionally
- Project-specific sheets in a `.cheat` directory
- Shell users who want completions for sheets and tags
strengths
- Edit sheets with `cheat -e tar`; sheets are plain text files
- Cheatpaths can be read-only for community sheets or writable for personal ones
- Search by text or regex, and by tag with `cheat -l -t networking`
- Discovers `.cheat` directories in the working directory or its ancestors, like git
- Completions for bash, zsh, fish and PowerShell
weaknesses
- Content depends on the cheatpaths you configure and the sheets you write
- Documents no translations, no multiple client options and no web interface
Key differences
- Content: tldr ships a shared community database; cheat reads sheets from cheatpaths you configure.
- Format: tldr pages are Markdown; cheat sheets are plain text with optional YAML frontmatter.
- Implementation: tldr has Python, Rust and Node.js clients; cheat is a Go tool.
- Search: cheat searches by text, regex and tag; tldr is documented as lookup by command name.
- Project scope: cheat finds `.cheat` directories in the current directory or ancestors; tldr has no documented equivalent.
- Editing: cheat edits sheets with `cheat -e`; tldr changes go through GitHub contributions. Both are MIT licensed.
Choose tldr when
- You want example-first pages for common commands without writing any yourself.
- You need pages in languages other than English through community translations.
- You want a web interface or a choice of Python, Rust or Node.js client.
- You work across Unix, Linux, macOS and Windows commands.
Choose cheat when
- You want personal notes for commands you use too rarely to memorize.
- You want per-project sheets that follow you into any subdirectory via `.cheat`.
- You need tag filtering or regex search across all sheets.
- You want shell completions for sheet names, tags and cheatpaths in bash, zsh, fish or PowerShell.
When not to use these
- You need full option-by-option reference for a command; both tools give short examples, not complete manuals.
- You need documentation for an internal tool and don't want to write or host any sheets or pages.
FAQ
- Can I use tldr and cheat together?
- Nothing in either project prevents it. They are separate commands, so you can use `tldr tar` for community examples and `cheat tar` for your own notes. Neither project documents a direct integration.
- Which is easier to configure?
- tldr is documented as installable through pipx, Homebrew, Cargo or npm, with no configuration described. cheat uses cheatpaths, which you configure as read-only or writable directories, so it needs more setup in exchange for control.
- Which is faster?
- Neither project documents performance figures, so no speed comparison can be made from what they publish. tldr has Rust and Node.js clients and cheat is written in Go.
- Can I add my own commands?
- With cheat, yes: run `cheat -e <name>` to edit a sheet in a writable cheatpath. With tldr, you contribute pages through GitHub.