A pure bash markdown viewer for the terminal. Zero dependencies. Works everywhere.
Inspired by bat, glow, and the Unix philosophy of doing one thing well.
Left: busymd (pure bash, zero dependencies) | Right: cat/less
Left: busymd | Right: cat/less
- Syntax highlighting — Headers, lists, code blocks, links, images, tables, and more
- Pure bash — No Python, Ruby, Node.js, or Go. Just bash.
- Zero dependencies — Works on busybox, Alpine, anywhere with bash
- Portable — Drop it in as a shell function or standalone script
- Minimal — Under 300 lines of code
View a markdown file:
Pipe from stdin:
Skip the pager (disable lazy loading):
- Headers (all 6 levels)
- Bold, italic, bold+italic, strikethrough
- inline code and fenced code blocks with syntax highlighting
- Lists (ordered, unordered, nested, task lists)
- Links and images
- Tables
- Blockquotes
- Horizontal rules
- Admonitions (!!! note, !!! warning, etc.)
Use as a bash function (recommended):
Or as a one-liner function:
Install as a standalone command:
Or just download and run:
When using the pager (less), you can:
| g / G | Go to beginning / end |
| j / k | Scroll down / up |
| Space | Page down |
| /pattern | Search forward |
| n / N | Next / previous match |
| q | Quit |
Sometimes all you need is to peek inside a README or markdown file — just to see how it actually renders, understand those code blocks, or check formatting without leaving your terminal.
I wanted something simple and lean for viewing Markdown — similar to how VSCode or GitHub render .md files, but right in the shell. No GUI, no browser, no fuss.
There are great tools out there like bat, glow, and mdcat, but they often come with heavier dependencies or larger codebases. busymd focuses on being minimal and fast — just pure bash, under 400 lines, and it works anywhere.
Use it as a standalone script, source it as a bash function, or copy/paste it wherever you need it.
busymd runs on:
- Alpine Linux
- Busybox
- Docker containers
- Old servers
- Your laptop
- Pretty much anywhere with bash 4.0+
- Bash 4.0+
- A terminal that supports ANSI colors
That's it. No pip, npm, gem, cargo, or go install required.
MIT
.png)
