Glow: Markdown reader for the terminal with a TUI and encrypted cloud stash


Render markdown on the CLI, with pizzazz!

Glow Logo
Latest Release
Build Status
Go ReportCard

Glow UI Demo

What is it?

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 and stash markdown files to your own private collection so you can read
them anywhere. Glow will find local markdown files in subdirectories or a local
Git repository.

By the way, all data stashed is encrypted end-to-end: only you can decrypt it.
More on that below.


Use your fave package manager:

# macOS or Linux
brew install glow

# Arch Linux (btw)
yay -S glow

# Void Linux
xbps-install -S glow

# Nix
nix-env -iA nixpkgs.glow

# FreeBSD
pkg install glow

Or download a binary from the releases page. MacOS, Linux, Windows,
FreeBSD, and OpenBSD binaries are available, as well as Debian, RPM, and Alpine
packages. ARM builds are also available for Linux, FreeBSD, and OpenBSD.

Or just build it yourself (requires Go 1.13+):

git clone
cd glow
go build


Simply run glow without arguments to start the textual user iterface and
browse local and stashed markdown. Glow will find local markdown files it 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
keystokes you know from less are the same, but you can press ? to list
the hotkeys.


Glow works with the Charm Cloud to allow you to store any markdown files in
your own private collection. You can stash a local document from the Glow TUI by
pressing s.

You can also stash from the CLI:

Then, when you run glow without arguments will you can browse through your
stashed documents. This is a great way to keep track of things that you need to
reference often.

Stashing is private, its contents will not be exposed publicly, and it’s
encrypted end-to-end. More on encryption below.


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

# Read from stdin
glow -

# Fetch README from GitHub / GitLab

# Fetch markdown from HTTP
glow https://host.tld/


You can also stash documents from the CLI:

Then, when you run glow without arguments will you can browse through your
stashed documents. This is a great way to keep track of things that you need to
reference often.

Word Wrapping

The -w flag lets you set a maximum width at which the output will be wrapped:


CLI 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.

Alternatively you can also supply a custom JSON stylesheet:

For additional usage details see:

Check out the Glamour Style Section
to find more styles. Or make your own!

🔒 Encryption: How It Works

Encryption works by issuing symmetric keys (basically a generated password) and
encrypting it with the local SSH public key generated by the open-source
charm library. That encrypted key is then sent up to our server.
We can’t read it since we don’t have your private key. When you want to decrypt
something or view your stash, that key is downloaded from our server and
decrypted locally using the SSH private key. When you link accounts, the
symmetric key is encrypted for each new public key. This happens on your
machine and not our server, so we never see any unencrypted data.



Part of Charm.

the Charm logo

Charm热爱开源! / Charm loves open source!


Please enter your comment!
Please enter your name here