Render markdown on the CLI, with pizzazz!
Note: This is a fork of charmbracelet/glow. See Installation for how to get binaries.
Glow is a terminal based markdown reader designed from the ground up to bring out the beauty—and power—of the CLI.
Use it to discover markdown files, read documentation directly on the command line. Glow will find local markdown files in subdirectories or a local Git repository.
This fork is based on upstream commit 752de97 and adds:
- Mermaid Diagram Rendering - ASCII art rendering of mermaid code blocks
- Outline Sidebar - Right-aligned hierarchical heading navigation in TUI mode
Download a pre-built static binary from the GitHub Releases page.
Available platforms:
- Linux (amd64, arm64)
- macOS (amd64, arm64)
- Windows (amd64, arm64)
- FreeBSD (amd64, arm64)
- OpenBSD (amd64, arm64)
- NetBSD (amd64, arm64)
# Example: Download and install on Linux
curl -L https://github.com/hholst80/glow/releases/latest/download/glow_Linux_x86_64.tar.gz | tar xz
sudo mv glow /usr/local/bin/git clone https://github.com/hholst80/glow.git
cd glow
go buildSimply run glow without arguments to start the textual user interface and
browse local. Glow will find local markdown files in the
current directory and below or, if you're in a Git repository, Glow will search
the repo.
Markdown files can be read with Glow's high-performance pager. Most of the
keystrokes you know from less are the same, but you can press ? to list
the hotkeys.
Glow automatically renders Mermaid diagrams as ASCII art in the terminal. Supported
diagram types include flowcharts (graph LR, graph TD) and sequence diagrams.
If a diagram is too complex to render clearly at the current terminal width, Glow displays the original mermaid source with a visual indicator instead of a garbled rendering.
Press o to toggle a right-aligned outline sidebar that shows a hierarchical
tree of markdown headings. The sidebar highlights the current section as you
scroll and supports jump-to navigation:
o- Toggle outline visibilityTab- Switch focus between content and outlinej/k- Navigate headings (when outline focused)Enter- Jump to selected heading]/[- Quick next/prev heading navigation
Enable outline on startup with --outline or -o flag, or set showOutline: true
in your config file.
In addition to a TUI, Glow has a CLI for working with Markdown. To format a document use a markdown source as the primary argument:
# Read from file
glow README.md
# Read from stdin
echo "[Glow](https://github.com/charmbracelet/glow)" | glow -
# Fetch README from GitHub / GitLab
glow github.com/charmbracelet/glow
# Fetch markdown from HTTP
glow https://host.tld/file.mdThe -w flag lets you set a maximum width at which the output will be wrapped:
glow -w 60CLI output can be displayed in your preferred pager with the -p flag. This defaults
to the ANSI-aware less -r if $PAGER is not explicitly set.
You can choose a style with the -s flag. When no flag is provided glow tries
to detect your terminal's current background color and automatically picks
either the dark or the light style for you.
glow -s [dark|light]Alternatively you can also supply a custom JSON stylesheet:
glow -s mystyle.jsonFor additional usage details see:
glow --helpCheck out the Glamour Style Section to find more styles. Or make your own!
If you find yourself supplying the same flags to glow all the time, it's
probably a good idea to create a config file. Run glow config, which will open
it in your favorite $EDITOR. Alternatively you can manually put a file named
glow.yml in the default config path of you platform. If you're not sure where
that is, please refer to glow --help.
Here's an example config:
# style name or JSON path (default "auto")
style: "light"
# mouse wheel support (TUI-mode only)
mouse: true
# use pager to display markdown
pager: true
# at which column should we word wrap?
width: 80
# show all files, including hidden and ignored.
all: false
# show line numbers (TUI-mode only)
showLineNumbers: false
# show outline sidebar (TUI-mode only)
showOutline: false
# preserve newlines in the output
preserveNewLines: falseSee AGENTS.md for development guidelines.
This is a fork of charmbracelet/glow,
based on commit 752de97.
Original project by Charm.

