day50-dev/streamdown

Render markdown in the terminal streaming

What it solves

Streamdown addresses the issue of terminal markdown renderers that "hijack" the screen into a full-screen experience. It provides a way to beautify markdown output from LLMs and other sources in real-time without taking over the terminal, allowing users to maintain full keyboard interactivity (such as arrow keys and control sequences).

How it works

It functions as both a fast, standards-compliant library and a command-line interface (CLI). It can process markdown via standard piping, files, or as a wrapper around other programs using the --exec flag to maintain proper I/O handling. It uses a plugin system to extend its parser and renderers (e.g., for LaTeX math) and supports modern terminal features like OSC 8 hyperlinks and OSC 52 clipboard integration.

Who it’s for

Developers and AI power users who want a polished, real-time markdown rendering experience in their terminal, specifically for AI workflows and LLM outputs, without sacrificing terminal control.

Highlights

  • Real-time Streaming: Renders markdown as it is generated, suitable for LLM outputs.
  • Non-Intrusive: Does not take over the full screen; maintains standard terminal behavior.
  • Clean Code Copying: Ensures code blocks remain cleanly copyable without injected line breaks.
  • Broad Support: Handles CJK characters without truncation and supports image rendering in compatible terminals.
  • Extensible: Includes a plugin system for custom parsing and rendering logic.
  • Clipped Integration: Can automatically copy the final code block to the system clipboard.

Related

  • Project
  • Project
  • Project
  • Project