Skip to main content
Find answers to frequently asked questions about Glow.
Glow has two primary modes:TUI (Textual User Interface) Mode:
  • Interactive file browser
  • Launched when you run glow without arguments or with a directory
  • Browse markdown files in the current directory or Git repository
  • High-performance pager for reading documents
  • Keyboard navigation (press ? for help)
CLI (Command Line Interface) Mode:
  • Non-interactive markdown rendering
  • Launched when you provide a file as an argument: glow README.md
  • Outputs rendered markdown to stdout
  • Useful for piping to other commands or pagers
  • Can read from stdin: echo "# Hello" | glow -
You can force TUI mode with the -t flag or CLI mode with file arguments.
Glow supports CommonMark and GitHub Flavored Markdown, including:
  • Headings (H1-H6)
  • Emphasis (bold, italic, strikethrough)
  • Lists (ordered, unordered, task lists)
  • Code blocks with syntax highlighting
  • Inline code
  • Blockquotes
  • Links and images (as links in terminal)
  • Tables
  • Horizontal rules
  • HTML (limited support)
  • Emoji :sparkles:
Glow uses the Glamour library for rendering, which provides excellent terminal-based markdown rendering.
Glow works with most modern terminal emulators that support:
  • ANSI color codes
  • UTF-8 encoding
  • 256 colors (recommended)
Well-tested terminals:
  • kitty
  • iTerm2 (macOS)
  • Alacritty
  • GNOME Terminal
  • Konsole
  • Terminal.app (macOS)
  • Windows Terminal
  • WezTerm
Terminal multiplexers:
  • tmux (configure with set -g default-terminal "screen-256color")
  • screen
If you experience rendering issues, ensure your terminal is configured for UTF-8 and 256 colors.
Glow supports custom styles via JSON configuration files based on the Glamour style format.Use a custom style:
glow -s /path/to/mystyle.json README.md
Set in config file:
glow config
Then specify the path:
style: "/path/to/mystyle.json"
Explore existing styles:Create your own:
  • Check the style documentation
  • Base your style on existing ones
  • Customize colors, margins, and formatting
Yes! Glow is designed to handle markdown files of various sizes:For optimal performance with large files:
  • Use CLI mode instead of TUI for files over several MB
  • Pipe to a pager: glow largefile.md -p
  • Adjust word-wrap width: glow -w 80 largefile.md
  • Disable line numbers in TUI mode (set showLineNumbers: false in config)
TUI Mode:
  • Features a high-performance pager for smooth scrolling
  • Efficiently handles most documentation files
  • Uses lazy loading for file discovery
CLI Mode:
  • Renders the entire file to stdout
  • Very fast for files up to several MB
  • Combine with less or your preferred pager for very large files
Yes! Glow works completely offline for local files:
glow README.md           # Local file
glow /path/to/docs/      # Local directory (TUI)
Online features: Glow can fetch markdown from remote sources:
  • GitHub repositories: glow github.com/user/repo
  • GitLab repositories: glow gitlab.com/user/repo
  • HTTP/HTTPS URLs: glow https://example.com/file.md
Note: Fetching remote content requires an internet connection. Once fetched, the content is rendered locally.
Glow can fetch README files from GitHub and GitLab repositories without authentication for public repositories.Public repositories:
glow github.com/charmbracelet/glow
glow gitlab.com/user/repo
Rate limits:
  • GitHub API has rate limits for unauthenticated requests
  • If you hit rate limits, you may need to authenticate
Private repositories: For private repositories, you’ll need to fetch the raw markdown URL directly:
glow https://raw.githubusercontent.com/user/private-repo/main/README.md
And provide authentication through your Git credentials or personal access tokens configured in your Git client.Alternative: Clone the repository and use Glow locally:
git clone [email protected]:user/private-repo.git
cd private-repo
glow  # TUI mode automatically detects the repo
While Glow is specifically designed for markdown, you can use it creatively:As a markdown pager:
export PAGER="glow -p"
For markdown content:
cat README.md | glow -
Note: Glow expects markdown input. For general-purpose paging of non-markdown content, use traditional pagers like less, more, or bat.Better use cases:
  • Reading API documentation (if available as markdown)
  • Viewing CHANGELOG.md or CONTRIBUTING.md files
  • Browsing documentation repositories
  • Previewing markdown before committing
Control word wrapping with the -w flag:Specific width:
glow -w 80 README.md     # Wrap at 80 characters
glow -w 120 README.md    # Wrap at 120 characters
Disable wrapping:
glow -w 0 README.md      # No word wrapping
Auto-detect terminal width:
glow README.md           # Defaults to terminal width (max 120)
Set in config file:
glow config
width: 80  # Set to 0 to disable
The default behavior is to detect your terminal width and cap it at 120 characters for optimal readability.
Absolutely! Glow is open source and welcomes contributions.Report bugs:Contribute code:Requirements:
  • Go 1.21 or later for building from source
  • Follow Go conventions and run tests
Community:Every contribution, from bug reports to documentation improvements, helps make Glow better!

Still Have Questions?

If your question isn’t answered here:

Build docs developers (and LLMs) love