# explainshell

Paste a shell command and it splits it into parts, linking each flag and argument to the matching passage of the program's man page (Ubuntu and Arch).

- Category: Developer utilities · by Idan Kamara
- Website: https://explainshell.com/
- Live data: no
- Checked on the official pages: 2026-10-23

## API

- No official API. Do not scrape the site; use it by hand or through its downloads.

## Data and license

- Download: https://github.com/idank/explainshell/releases (sqlite)
- License: GPL-3.0 (code); man page text keeps its upstream licenses (https://github.com/idank/explainshell/blob/master/LICENSE); covers GPLv3 covers the explainshell code; the released database holds man page text under each page's own license
- Commercial use with conditions
- Credit: not stated
- Embedding unclear
- Quote (license_code): "The explainshell code is licensed under GPLv3." (https://github.com/idank/explainshell)
- Quote (license_db): "Each of those pages keeps its own upstream license (GPL, BSD, MIT, and many others) held by its respective authors - the GPLv3 above does not cover them, and I can't relicense them." (https://github.com/idank/explainshell)
- Quote (commercial): "If you want to redistribute the database (or a derivative of it), the permission has to come from the licenses of the individual man pages - do your own compliance review, and preserve the upstream authors' copyright notices" (https://github.com/idank/explainshell)
- Quote (data_download): "The db for the live service is saved in a Github release." (https://github.com/idank/explainshell)
- Quote (data_format): "Processed manpages live in a single SQLite database (`explainshell.db`) with three tables:" (https://github.com/idank/explainshell)
- Quote (data_source): "explainshell.com sources manpages from known archives (currently the Ubuntu archive and manned.org)." (https://github.com/idank/explainshell)
- Quote (self_host): "# Run the web server
$ make serve
# open http://localhost:5000" (https://github.com/idank/explainshell)

## Rules for an agent

- No JSON API and no npm/PyPI package, but it is open source (GPLv3, Python/Flask): clone the repo, run 'make download-latest-db' to get the SQLite db of parsed man pages, and self-host with 'make serve'; the web page URL pattern is /explain?cmd=<command>.
- Code reuse is GPLv3: derivative code must stay GPLv3
- Redistributing the database needs a per-man-page license review and the upstream copyright notices kept

Human page: https://agentgid.com/resources/explainshell/
Source: AgentGid (agentgid.com). Facts are quoted from the site's own pages; check the license page before you ship.
