Glow
A terminal Markdown reader for local files, standard input, and browsable document collections.
Why consider Glow?
Glow is an open-source terminal-based Markdown reader designed to discover and render Markdown files directly on the command line. It features an interactive TUI for browsing repository documents alongside a scriptable CLI with custom styling, word wrapping, and pager integration.
Learn Glow by building
Practical setup notes, real use cases, and copy-ready examples in one focused guide.
In this guide4 sections
Reading and Formatting Markdown in the Terminal with Glow
Developers frequently need to inspect documentation, release notes, and project specifications without leaving their shell environment. According to the project repository at GitHub, its core mission is to "Render markdown on the CLI, with pizzazz!". Rather than relying on bulky web browsers or unformatted plain-text outputs, Glow parses CommonMark and GitHub-Flavored Markdown into styled terminal output with syntax highlighting, clean margins, and formatted tables.
The project is built by Charmbracelet as a primary component of their terminal tooling ecosystem. As stated on the official Charm ecosystem website, "Glow is the customizable, award-winning* markdown reader with first-class CLI and TUI interfaces.". It serves technical writers, software engineers, and system administrators who maintain documentation directly inside code repositories and require rapid command-line previews.
Core Capabilities and Interactive TUI Navigation
When launched inside a working directory or repository tree, Glow automatically scans for Markdown documentation. Official documentation in the Glow README notes that "Glow is a terminal based markdown reader designed from the ground up to bring out the beauty—and power—of the CLI.". This integrated file-discovery engine saves time when exploring large projects with nested README files and architecture decision records.
Navigating local files does not require typing complex paths or manually finding documentation trees. As explained in the Glow README, "Simply run glow without arguments to start the textual user interface and browse local.". This launches an interactive file browser where you can scroll through directories, select files, and view their rendered contents in an organized presentation.
Beyond scanning the immediate directory, the scanner intelligently integrates with version control metadata. As documented in the Glow README, "Glow will find local markdown files in subdirectories or a local Git repository.". This behavior allows team members to quickly locate nested documentation across complex monorepos and multi-package Go projects without executing separate find commands.
Reading lengthy technical manuals in the terminal requires smooth keyboard navigation. The Glow README highlights that "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.". Users can search forward and backward, jump to sections, and navigate long documents with familiar terminal conventions.
Command-Line Formatting and Pipeline Integration
When integrating Glow into shell scripts, automated report outputs, or CI logs, controlling line lengths is essential to prevent text overflow on varying display sizes. According to the Glow README, "The -w flag lets you set a maximum width at which the output will be wrapped". This gives administrators precise control when formatting Markdown documentation into constrained terminal panes or fixed-width monitoring windows.
For direct command-line execution outside the full-screen TUI browser, output can be automatically piped into a pager to maintain readability. The Glow README states that "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.". This automated integration ensures color codes and style escape sequences are parsed without broken character artifacts.
Terminal backgrounds vary across developer setups, ranging from dark consoles to light editor panels. To prevent unreadable contrast issues, the Glow README explains that "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.". Users can override this behavior by explicitly passing specific theme flags or providing custom JSON stylesheets.
Installation and Configuration Management
Glow provides precompiled binaries and package manager integrations across macOS, Linux, and Windows environments, distributed through the v3.0.0 Release. On macOS and Linux systems, users can install the tool using Homebrew:
# macOS or Linuxbrew install glowFor Windows workstations and automated environments, users can choose from multiple popular Windows package repositories documented in the Glow README:
# Windows (with Chocolatey, Scoop, or Winget)choco install glowscoop install glowwinget install charmbracelet.glowTo persist preferred styles, word wrap boundaries, and pager flags across sessions, Glow supports a declarative YAML configuration file. As described in the Glow README, "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.".
The following example configuration demonstrates the supported options:
# style name or JSON path (default "auto")style: "light"# mouse wheel support (TUI-mode only)mouse: true# use pager to display markdownpager: 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# preserve newlines in the outputpreserveNewLines: falseOpen Source Licensing and Ecosystem
The project is licensed under the permissive MIT License terms found in the official Glow LICENSE file, granting users broad permissions: "Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction". This permissive licensing makes Glow suitable for personal productivity, enterprise developer environments, and automated continuous integration workflows.
Related tools
More options with a similar category or technology profile.
diskus
Minimal, fast alternative to du -sh written in Rust using multi-threaded directory traversal.
peco
Simplistic interactive filtering tool for Unix pipelines, process lists, and file trees.
Dapr CLI
Command-line tool for managing Dapr distributed application runtime environments and sidecars.
Freeze
Generate beautiful image screenshots and SVGs of code snippets and terminal outputs.