Problem Being Solved
Making markdown files readable and beautiful in the terminal
Markdown is everywhere in a developer's workflow — READMEs, documentation, changelogs, notes — but the terminal renders it as raw text, cluttering your screen with syntax symbols instead of structured content. Glow exists to fix that: it transforms plain markdown into beautifully styled, readable output right in your terminal. This page explains the core problem Glow solves and why it matters for anyone who spends serious time in the command line.
The Problem with Markdown in the Terminal
Markdown was designed to be readable as plain text, but that promise breaks down quickly in practice. When you cat README.md or open a file in a basic pager, what you see is a wall of ## symbols, **asterisks**, backtick-fenced code blocks, and raw URLs. The semantic intent of the document — hierarchy, emphasis, code, structure — is buried under its own syntax.
For developers who live in the terminal, this creates a real friction point. You either context-switch to a browser or a GUI editor to read documentation properly, or you train yourself to mentally parse markdown syntax on the fly. Neither option is ideal.
Why a Terminal-Native Solution Matters
Bringing you out of the terminal to read a markdown file breaks your flow. Every context switch has a cost: a new window, a browser tab, a GUI application loading up — just to read a README or a doc page you already have locally. The information you need is right there on disk, but your tools aren't equipped to present it well.
Glow keeps you in the environment you're already working in. It renders markdown with proper visual hierarchy — styled headers, syntax-highlighted code blocks, formatted tables, and readable prose — without requiring you to leave the terminal or reach for a mouse.
What "Beautiful" Means in a Terminal Context
Beautiful in a terminal context doesn't mean pixel-perfect graphics. It means:
- Clarity: headers look like headers, not
## strings - Hierarchy: nested structure is visually apparent at a glance
- Code legibility: fenced code blocks are distinguished from prose and syntax-highlighted where possible
- Comfortable reading: word wrap and paging prevent horizontal scrolling and wall-of-text fatigue
- Consistent style: a coherent visual theme rather than raw monospace chaos
Glow achieves this through a purpose-built terminal renderer with configurable styles, giving markdown the same respect in your terminal that a browser gives it on the web.
Who Feels This Pain Most
If you regularly work with any of the following, Glow is solving a problem you already know:
- Open source project READMEs and contributing guides
- Local documentation wikis or knowledge bases stored as markdown
- Changelog files (
CHANGELOG.md) you want to scan quickly - Markdown-formatted notes or drafts you keep in your home directory
- Documentation pulled from URLs — GitHub raw files, gists, or hosted docs
The more markdown you encounter in a day, the more time you spend squinting at raw syntax — and the more Glow gives back to you.
Viewing a raw README without Glow — typical terminal output
cat README.md
# My Project
**Installation**
Run the following command:
```bash
npm install my-project
See docs for more info.
What you get is the full syntax exposed: hash symbols, asterisks, backtick fences, and raw URLs — all the scaffolding with none of the presentation.
---
**Viewing the same file with Glow**
```bash
glow README.md
My Project
══════════
Installation
Run the following command:
╭─────────────────────────╮
│ npm install my-project │
╰─────────────────────────╯
See docs for more info.
Glow strips the syntax and replaces it with terminal-native styling: a prominent title, a clearly delineated code block, and clean readable prose. The content communicates instead of distracting.
Rendering a remote markdown file from a URL
glow https://raw.githubusercontent.com/charmbracelet/glow/main/README.md
Glow fetches and renders the document in one step — no browser, no download-then-open workflow. You stay in the terminal throughout.
- Installing Glow — Get Glow set up on your system so you can start rendering markdown immediately.
- Browsing files interactively — Use Glow's terminal UI to navigate and open markdown files from a directory, without specifying paths manually.
- Customizing output style — Learn how Glow's theming system lets you control colors, margins, and visual presentation to match your terminal setup.
- Controlling word wrap and paging — Understand how Glow manages long documents so reading stays comfortable regardless of your terminal width or file length.
- Configuring persistent settings — Save your preferred rendering options so Glow behaves the way you want every time, without extra flags.