Skip to content

blessed-contrib

A JavaScript library for building charts, gauges, and tables inside terminal dashboards.

Stars
15.8k
Forks
831
Licence
MIT
Language
JavaScript
Last update
6 months ago
Type
Library

What it is

blessed-contrib is a JavaScript library that extends the blessed terminal UI toolkit with extra widgets such as line charts, bar charts, maps, gauges, donuts, logs, and tables. It lets developers build dashboards that run inside a text terminal, including over SSH. The README shows it being installed alongside the blessed package as a peer dependency.

  • Show a live line chart of server metrics in a terminal window
  • Display a bar chart of utilization values across several servers
  • Show progress or storage levels with gauges and an LCD-style display
  • Stream log lines into a rolling log panel
  • Render a marker on a world map in the terminal

Great for

  • Developers who want a monitoring or status dashboard that runs in a terminal
  • Engineers working on remote servers over SSH who need visual readouts without a browser
  • Node.js developers already comfortable with blessed or terminal UI code

Not ideal for

  • People who want a ready-made dashboard with no coding, since it is a library you must write code against
  • Projects needing graphical browser-based charts, because output is ASCII/ANSI art in a terminal
  • Users on Windows who are unwilling to follow the extra prerequisites the README links to
Step-by-step guide: how to use blessed-contribInstall, first run, examples, tips and FAQs

How to get it

  1. 1

    Install with a package manager

    You'll need: Node.js LTS (README asks for the latest stable LTS version) · npm

    Install the library and its blessed peer dependency

    npm install blessed blessed-contrib
  2. 2

    Run it

    • Install Node.js LTS and run npm install blessed blessed-contrib in your project
    • Create a script that requires blessed and blessed-contrib and creates a screen
    • Append a widget such as contrib.line to the screen and call setData with your data
    • Call screen.render() and run the script with node
  3. 3

    Get the most out of it

    • Use the layout option to arrange several widgets on one dashboard, as the README suggests
    • Start from examples/dashboard.js to see a full working dashboard
    • Use the stacked bar, stacked gauge, and donut widgets to show multi-part values
    • Pair with the WOPR project mentioned in the README for terminal reports and infographics

Downloads

Strengths

  • Works in plain terminals and over SSH, as the README states
  • Builds on the established blessed library and offers many ready widgets
  • Includes runnable examples such as examples/dashboard.js

Trade-offs

  • Requires writing JavaScript code; there is no standalone dashboard app
  • Windows use needs extra setup described in an external blog post
  • Visual output is limited to what terminal characters can draw

How it compares

ProjectStarsTypeLevelUpdatedBest for
blessed-contrib (this)15.8kLibraryintermediate6 months agoDevelopers who want a monitoring or status dashboard that runs in a terminal
ink40.2kLibraryintermediate5 days agoJavaScript or TypeScript developers who already know React

Stats synced from GitHub. The assessment above was drafted with AI from the project's README on 2026-10-29 and may miss recent changes — check the README before relying on a command. MIT licence: free to use, modify and distribute, including commercially, as long as you keep the copyright notice.