TiloBox
Back to directory
Glow project preview

Glow

A terminal Markdown reader for local files, standard input, and browsable document collections.

LicenseMIT
GitHub stars27.0k
Last commit2 weeks ago
Tags6 topics
CliGoMarkdownOpen SourceDeveloper ToolsTerminal
Overview

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.

Guided learning

Learn Glow by building

Practical setup notes, real use cases, and copy-ready examples in one focused guide.

5 min read 4 sections
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:

bash
1# macOS or Linux
2brew install glow

For Windows workstations and automated environments, users can choose from multiple popular Windows package repositories documented in the Glow README:

bash
1# Windows (with Chocolatey, Scoop, or Winget)
2choco install glow
3scoop install glow
4winget install charmbracelet.glow

To 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:

yaml
1# style name or JSON path (default "auto")
2style: "light"
3# mouse wheel support (TUI-mode only)
4mouse: true
5# use pager to display markdown
6pager: true
7# at which column should we word wrap?
8width: 80
9# show all files, including hidden and ignored.
10all: false
11# show line numbers (TUI-mode only)
12showLineNumbers: false
13# preserve newlines in the output
14preserveNewLines: false

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

Glow FAQs

Glow is listed as a Developer Tools tool on TiloBox. Review the overview, features, and official documentation on this page to decide whether it solves your specific workflow.

Start with the project's GitHub repository for supported installation and deployment instructions. Test the setup with representative data or a small project before rolling it out more widely.

Glow is listed under the MIT license. Read the complete license text and the project's notices before using, modifying, or distributing the software.

Production readiness depends on your requirements. Review maintenance activity, security practices, documentation, backup and upgrade procedures, and compatibility with your stack; then validate it in a non-production environment.

Glow is listed as an alternative to Rich. Compare the core workflow, deployment model, integrations, and licensing against your must-have requirements before switching.