@ai_suxiaole: Numbers are never in short supply in the terminal. What's truly missing is a way to see trends at a glance. There's a small tool called chartli on GitHub that can directly render data from command-line output into charts. Whether it's server monitoring, log analysis, or script statistics, just one command can generate ASCII line charts, bar charts, heat maps, …

X AI KOLs Timeline Tools

Summary

Introduces a command-line tool called chartli that can directly render numeric data from command-line output into ASCII charts (line charts, bar charts, heat maps, etc.), supports pipeline input, file reading, and multiple chart types, suitable for server monitoring, log analysis, etc.

Numbers are never in short supply in the terminal. What's truly missing is a way to see trends at a glance. There's a small tool called chartli on GitHub that can directly render data from command-line output into charts. Whether it's server monitoring, log analysis, or script statistics, just one command can generate ASCII line charts, bar charts, heat maps, Braille dot plots, and even SVG vector graphics. It supports reading from files and pipeline input, and can display multiple series of data, so you don't have to switch back and forth to Excel when analyzing data. GitHub: https://github.com/ahmadawais/chartli…
Original Article
View Cached Full Text

Cached at: 06/18/26, 12:05 AM

In the terminal, numbers are abundant, but what’s truly missing is the ability to grasp trends at a glance. There’s a tool called chartli on GitHub that can directly render data from command-line output into charts. Whether it’s server monitoring, log analysis, or script statistics, just one command generates ASCII line charts, bar charts, heatmaps, Braille dot plots, and even SVG vector graphics. It supports reading from files, piping input, and can display multiple series of data. No more switching back and forth to Excel for data analysis.
GitHub: https://github.com/ahmadawais/chartli…


ahmadawais/chartli

Source: https://github.com/ahmadawais/chartli

npx chartli # chartli CLI for rendering charts in terminals from numeric text data.

chartli turns plain numbers into terminal charts. ascii, spark, bars, columns, heatmap, unicode, braille, svg.

Install

Run instantly:

npx chartli --help

Or install globally:

npm i -g chartli

Agent skill install

Install the repository skill for agents:

npx skills add ahmadawais/chartli

Quick start:

npx chartli
npx chartli --help

Usage

npx chartli [file] [options]
Usage: chartli [options] [file]

Render terminal charts from numeric data

Arguments:
  file                    Input file (reads from stdin if not provided)

Options:
  -v, --version           Output the version number
  -t, --type              Chart type: svg, ascii, unicode, braille, spark, bars, columns, heatmap (default: "ascii")
  -w, --width             Chart width
  -h, --height            Chart height
  -m, --mode              SVG mode: circles or lines (default: "circles")
  --x-axis-label          Title to render for the x-axis
  --y-axis-label          Title to render for the y-axis
  --x-labels              Comma-separated labels for x-axis ticks or row labels
  --series-labels         Comma-separated labels for plotted series or categories
  --data-labels           Show raw values near plotted data when supported
  --first-column-x        Treat the first numeric column as x labels instead of a plotted series
  --help                  Display help for command

Labels and metadata

  • Use --x-axis-label and --y-axis-label to add axis titles.
  • Use --x-labels for explicit tick labels.
  • Use --series-labels to replace generic labels like S1 and C1.
  • Use --data-labels to print raw values on or near the plotted data where the renderer supports it.
  • Use --first-column-x when the first numeric column is a domain like day, month, or year.

With --first-column-x, chartli will:

  • use the first numeric column as x-axis labels
  • use the first header cell as the x-axis title when a header row exists
  • use the remaining header cells as series labels
  • use the second header cell as the y-axis title for common two-column data

Example:

pnpm chartli examples/assets/core-single-series.txt -t ascii -w 24 -h 8 --first-column-x --data-labels
pnpm chartli examples/assets/core-multi-series.txt -t columns -h 8 --first-column-x --series-labels sales,costs,profit --x-axis-label Metrics --y-axis-label Value --data-labels

Labeled chart examples

ASCII line with inferred axis labels and data labels

pnpm chartli examples/assets/weekly-signups.txt -t ascii -w 28 -h 8 --first-column-x --data-labels
signups
 91 │                                            ● 91
    │
 87 │
    │                                     ● 87
 73 │                                ● 73
    │
 68 │                          ● 68                66.5
 58 │                    ● 58
    │
 49 │              ● 49
 42 │        ● 42
    │  ● 42
    └────────────────────────────────────────────
      1    2    3    4    5    6    7
                     day

Columns with explicit axis titles and inferred series names

pnpm chartli examples/assets/weekly-metrics.txt -t columns -h 8 --first-column-x --x-axis-label Metrics --y-axis-label Count --data-labels
Count
 176
  29   10
  █    █    █
  █    █    ▓
  ▒    █    ▓
  ▒
  ────────────────────
 visits trials  paid
      Metrics

SVG with axes, x labels, and point labels

pnpm chartli examples/assets/weekly-signups.txt -t svg -m lines -w 320 -h 120 --first-column-x --data-labels | sed -n '/^<svg/,$ p' > examples/assets/output/weekly-signups-chart.svg

This writes examples/assets/output/weekly-signups-chart.svg.

Types

  • ascii
  • spark
  • bars
  • columns
  • heatmap
  • unicode
  • braille
  • svg

Example data files

  • examples/assets/core-single-series.txt
  • examples/assets/core-multi-series.txt
  • examples/assets/image-data.txt
  • examples/assets/image-single-series.txt
  • examples/assets/image-columns-variant.txt
  • examples/assets/weekly-signups.txt
  • examples/assets/weekly-metrics.txt

Image chart set (text diagrams)

ASCII Line

pnpm chartli examples/assets/image-data.txt -t ascii -w 24 -h 8
day=● sales=○ costs=◆ profit=◇
1.00 │         ○
     │
     │              ◇   ◇
     │      ◆        ●
0.50 │     ●        ◆
     │    ◇    ◆     ●
     │   ○          ◆
0.00 │  ◇    ◆     ◇  ◇
     └────────────────────────

Sparklines

pnpm chartli examples/assets/image-data.txt -t spark
day   ▁▂▃▄▅▆
sales ▁▄▂▇▅█
costs ▁▂▄▃▆▅
profit ▁▄▂▇▂▇

Horizontal Bars

pnpm chartli examples/assets/image-data.txt -t bars -w 28
day   |███████████████████           | 0.67
sales |▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓| 1.00
costs |▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒              | 0.53
profit |░░░░░░░░░░░░░░░░░░░░░░░      | 0.83

Columns

pnpm chartli examples/assets/image-data.txt -t columns -h 8
         ▓
         ▓   ░
         ▓   ░   █
         ▓   ░   █
   ▓     ▓   ▒   ░   █
   ▓     ▓   ▒   ░   █
   ▓     ▓   ▒   ░   █
   ▓   ▒ ▓   ▒ ▓ ░   █
   ───────────────────────────
   day sales costs profit

Columns (Variant)

pnpm chartli examples/assets/image-columns-variant.txt -t columns -h 8
         ▓   ░
         ▓   ░   █
   ▓     ▓   ░   █
   ▓     ▓   ▒   ░   █
   ▓     ▓   ▒   ░   █
   ▓     ▓   ▒ ▓ ░   █
   ▓   ▒ ▓   ▒ ▓ ░   █
   ▓   ▒ ▓   ▒ ▓ ░ ▓ █
   ───────────────────────────
   day sales costs profit

Heatmap

pnpm chartli examples/assets/image-data.txt -t heatmap
      day sales costs profit
R01   ░   ▒    ░    ▒
R02   ░   ░    ▒    ░
R03   ▒   ▓    ░    ▓
R04   ▒   ▒    ▓    ░
R05   ▓   █    ▒    ▓

Unicode Bars

pnpm chartli examples/assets/image-data.txt -t unicode
day    sales  costs  profit
█      ▃      █      ▅
█      ▅      ▃      █
█      ▃      █      █
█      ▂█     █▆█    █▂
█      █      ▂██    ▂
███    ▂      ██     ▃
█      █      ▁███   █
███    █▁██   █      █
█▁████ █▅███  ▁████  █▁█▁█
█████  █████  █████  █████

Braille

pnpm chartli examples/assets/image-data.txt -t braille -w 16 -h 6
profit
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠁⠀⠀⠀⠀⠀⠈
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⡀⠀⠀⠀⠀⠀⠁⠀⠀⠀⠀⠀⠁⠀⠀⠀

SVG Chart

pnpm chartli examples/assets/image-data.txt -t svg -m lines -w 320 -h 120 | sed -n '/^<svg/,$ p' > examples/assets/output/image-chart.svg
<svg ...>

Examples

All examples are data-file driven from examples/assets/.

Data files

  • examples/assets/core-single-series.txt
  • examples/assets/core-multi-series.txt
  • examples/assets/image-data.txt
  • examples/assets/image-single-series.txt
  • examples/assets/image-columns-variant.txt
  • examples/assets/weekly-signups.txt
  • examples/assets/weekly-metrics.txt
  • examples/assets/output/

Core commands

  • pnpm chartli examples/assets/core-single-series.txt -t ascii -w 24 -h 8
  • pnpm chartli examples/assets/core-multi-series.txt -t spark
  • pnpm chartli examples/assets/core-multi-series.txt -t bars -w 28
  • pnpm chartli examples/assets/core-multi-series.txt -t columns -h 8
  • pnpm chartli examples/assets/core-multi-series.txt -t heatmap
  • pnpm chartli examples/assets/core-multi-series.txt -t unicode
  • pnpm chartli examples/assets/core-single-series.txt -t braille -w 16 -h 6
  • pnpm chartli examples/assets/core-multi-series.txt -t svg -m lines -w 320 -h 120 | sed -n '/^<svg/,$ p' > examples/assets/output/core-chart.svg

Image commands

  • pnpm chartli examples/assets/image-data.txt -t ascii -w 24 -h 8
  • pnpm chartli examples/assets/image-data.txt -t spark
  • pnpm chartli examples/assets/image-data.txt -t bars -w 28
  • pnpm chartli examples/assets/image-data.txt -t columns -h 8
  • pnpm chartli examples/assets/image-columns-variant.txt -t columns -h 8
  • pnpm chartli examples/assets/image-data.txt -t heatmap
  • pnpm chartli examples/assets/image-data.txt -t unicode
  • pnpm chartli examples/assets/image-data.txt -t braille -w 16 -h 6
  • pnpm chartli examples/assets/image-data.txt -t svg -m lines -w 320 -h 120 | sed -n '/^<svg/,$ p' > examples/assets/output/image-chart.svg

Labeled commands

  • pnpm chartli examples/assets/weekly-signups.txt -t ascii -w 28 -h 8 --first-column-x --data-labels
  • pnpm chartli examples/assets/weekly-metrics.txt -t columns -h 8 --first-column-x --x-axis-label Metrics --y-axis-label Count --data-labels
  • pnpm chartli examples/assets/weekly-signups.txt -t svg -m lines -w 320 -h 120 --first-column-x --data-labels | sed -n '/^<svg/,$ p' > examples/assets/output/weekly-signups-chart.svg

Run grouped examples

  • pnpm run example:kitchen-sink
  • pnpm run example:image-set:kitchen-sink
  • pnpm run example:labeled:kitchen-sink
  • pnpm run example:all-kitchen-sink

Run all examples

Image-set chart run:

pnpm run example:image-set:kitchen-sink

Core + image run:

pnpm run example:all-kitchen-sink

License

Apache-2.0 by Ahmad Awais (https://x.com/MrAhmadAwais) built with Command Code (https://commandcode.ai).

Similar Articles

@AYi_AInotes: A Must-Have Tool for Computer Vision Developers, Open-Source with 40k Stars on GitHub! No need to write hundreds of lines of bounding box and tracking code. Get all visualizations with a single command. Supervision, the true Swiss Army knife of CV. How powerful is it? Automatic bounding boxes with labels, supports numbering and custom styles, permanent object tracking for videos, IDs don't jump, trajectories auto-generated...

X AI KOLs Timeline

Supervision is an open-source computer vision visualization tool that enables bounding boxes, tracking, dataset format conversion, heatmaps, etc. with a single command. Used by 6500+ projects, with 40k stars on GitHub.

@XAMTO_AI: Can generate architecture diagrams just by speaking? This tool is actually pretty impressive. Speak plain language to Claude, and it directly outputs architecture diagrams, flowcharts, sequence diagrams, data flow diagrams... It also supports one-click switching between dark and light themes, export in multiple formats, all in a single HTML file. Programmers who can't draw are saved, and programmers who don't want to draw are saved too...

X AI KOLs Timeline

Archify is a Claude Skill that allows users to generate architecture diagrams, flowcharts, sequence diagrams, etc. using natural language descriptions, and supports dark/light theme switching and multi-format export.

@0xQiYan: Still drawing architecture diagrams manually? Dragging and tweaking for half a day? Bookmark this! Today I have to recommend this skill—I recently installed `drawio-skill`, and with just one sentence it can generate professional diagrams, no more drawing by hand. The logic is very simple: just speak naturally (e.g., "draw a trading system architecture diagram"), and it generates the diagram directly...

X AI KOLs Timeline

Introducing the drawio-skill tool, which generates professional diagrams such as architecture diagrams, flowcharts, ER diagrams, etc., based on natural language descriptions. It supports multi-round iteration and export to various formats, significantly improving diagramming efficiency.

@VincentLogic: Found a pretty cool CLI tool! OfficeCLI lets you work with Word, Excel, and PPT files right in the terminal — no Office installation needed. Create, read, and modify files with ease, making it super handy for automation scripts. The best part? Once installed, Claude Code, Cursor, and other AI coding assistants can …

X AI KOLs Timeline

OfficeCLI is an open-source command-line tool that lets you create, read, and modify Word, Excel, and PPT files in the terminal without installing Office. It integrates with AI coding assistants like Claude Code and Cursor, making it ideal for automation scripts and batch file processing.