8.2k★by dannyshmueli
table-image-generator – OpenClaw Skill
table-image-generator is an OpenClaw Skills integration for coding workflows. Generate clean table images from data. Perfect for Discord/Telegram where ASCII tables look broken. Supports dark/light mode, custom styling, and auto-sizing. No Puppeteer required. Companion to chart-image skill.
Skill Snapshot
| name | table-image-generator |
| description | Generate clean table images from data. Perfect for Discord/Telegram where ASCII tables look broken. Supports dark/light mode, custom styling, and auto-sizing. No Puppeteer required. Companion to chart-image skill. OpenClaw Skills integration. |
| owner | dannyshmueli |
| repository | dannyshmueli/table-image-generator |
| language | Markdown |
| license | MIT |
| topics | |
| security | L1 |
| install | openclaw add @dannyshmueli/table-image-generator |
| last updated | Feb 7, 2026 |
Maintainer

name: table-image-generator version: 1.1.1 description: Generate clean table images from data. Perfect for Discord/Telegram where ASCII tables look broken. Supports dark/light mode, custom styling, and auto-sizing. No Puppeteer required. Companion to chart-image skill. author: dannyshmueli provides:
- capability: table-rendering methods: [tableImage]
Table Image Generator
Generate PNG table images from JSON data. Perfect for messaging platforms where ASCII tables break.
Why This Skill?
- ✅ No ASCII hell - Clean images that render consistently everywhere
- ✅ No Puppeteer - Pure Node.js with Sharp, lightweight
- ✅ Dark mode - Matches Discord dark theme
- ✅ Auto-sizing - Columns adjust to content
- ✅ Fast - Generates in <100ms
Setup (one-time)
cd /data/clawd/skills/table-image/scripts && npm install
Quick Usage
# Simple table
node /data/clawd/skills/table-image/scripts/table.mjs \
--data '[{"Name":"Alice","Score":95},{"Name":"Bob","Score":87}]' \
--output table.png
# With title and dark mode
node table.mjs \
--data '[{"Item":"Coffee","Price":"$4.50"},{"Item":"Tea","Price":"$3.00"}]' \
--title "Menu" \
--dark \
--output menu.png
Options
| Option | Description | Default |
|---|---|---|
--data | JSON array of row objects | required |
--output | Output file path | table.png |
--title | Table title | none |
--dark | Dark mode (Discord-friendly) | false |
--columns | Column order/subset (comma-separated) | all keys |
--headers | Custom header names (comma-separated) | field names |
--max-width | Maximum table width | 800 |
--font-size | Font size in pixels | 14 |
--header-color | Header background color | #e63946 |
--stripe | Alternating row colors | true |
--align | Column alignments (l,r,c comma-sep) | auto |
--compact | Reduce padding | false |
Examples
Basic Table
node table.mjs \
--data '[{"Name":"Alice","Age":30,"City":"NYC"},{"Name":"Bob","Age":25,"City":"LA"}]' \
--output people.png
Custom Columns & Headers
node table.mjs \
--data '[{"first_name":"Alice","score":95,"date":"2024-01"}]' \
--columns "first_name,score" \
--headers "Name,Score" \
--output scores.png
Right-Align Numbers
node table.mjs \
--data '[{"Item":"Coffee","Price":4.50},{"Item":"Tea","Price":3.00}]' \
--align "l,r" \
--output prices.png
Dark Mode for Discord
node table.mjs \
--data '[{"Symbol":"AAPL","Change":"+2.5%"},{"Symbol":"GOOGL","Change":"-1.2%"}]' \
--title "Market Watch" \
--dark \
--output stocks.png
Compact Mode
node table.mjs \
--data '[...]' \
--compact \
--font-size 12 \
--output small-table.png
Input Formats
JSON Array (default)
--data '[{"col1":"a","col2":"b"},{"col1":"c","col2":"d"}]'
Pipe from stdin
echo '[{"Name":"Test"}]' | node table.mjs --output out.png
From file
cat data.json | node table.mjs --output out.png
Tips
- Use
--darkfor Discord - Matches the dark theme, looks native - Auto-alignment - Numbers are right-aligned by default
- Column order - Use
--columnsto reorder or subset - Long text - Will truncate with ellipsis to fit
--max-width
Technical Notes
- Uses Sharp for PNG generation (same as chart-image)
- Generates SVG internally, converts to PNG
- No browser, no Puppeteer, no Canvas native deps
- Works on Fly.io, Docker, any Node.js environment
Table Image Generator 📋
Generate clean PNG table images from JSON data. Perfect for messaging platforms where ASCII tables break.
Why This?
- ✅ No ASCII hell — Clean images that render consistently everywhere
- ✅ No Puppeteer — Pure Node.js with Sharp, lightweight
- ✅ Dark mode — Matches Discord dark theme
- ✅ Auto-sizing — Columns adjust to content
- ✅ Fast — Generates in <100ms
Installation
npm install
Usage
# Simple table
node scripts/table.mjs \
--data '[{"Name":"Alice","Score":95},{"Name":"Bob","Score":87}]' \
--output table.png
# With title and dark mode
node scripts/table.mjs \
--data '[{"Item":"Coffee","Price":"$4.50"},{"Item":"Tea","Price":"$3.00"}]' \
--title "Menu" \
--dark \
--output menu.png
Options
| Option | Description | Default |
|---|---|---|
--data | JSON array of row objects | required |
--output | Output file path | table.png |
--title | Table title | none |
--dark | Dark mode (Discord-style) | false |
--font-size | Base font size | 14 |
--padding | Cell padding | 12 |
--max-width | Max table width | 800 |
ClawHub
Install via ClawHub:
clawhub install table-image-generator
License
MIT
RTL Support (v1.1.0)
Auto-detects Hebrew, Arabic, and other RTL scripts:
node scripts/table.mjs \
--data '[{"שם":"דני","גיל":28,"עיר":"תל אביב"}]' \
--dark --output hebrew.png
Or force RTL manually with --rtl flag.
Permissions & Security
Security level L1: Low-risk skills with minimal permissions. Review inputs and outputs before running in production.
Requirements
- OpenClaw CLI installed and configured.
- Language: Markdown
- License: MIT
- Topics:
FAQ
How do I install table-image-generator?
Run openclaw add @dannyshmueli/table-image-generator in your terminal. This installs table-image-generator into your OpenClaw Skills catalog.
Does this skill run locally or in the cloud?
OpenClaw Skills execute locally by default. Review the SKILL.md and permissions before running any skill.
Where can I verify the source code?
The source repository is available at https://github.com/openclaw/skills/tree/main/skills/dannyshmueli/table-image-generator. Review commits and README documentation before installing.
