The fastest way to turn local data into a credible report β then throw it away.
A lightweight CLI for generating publication-quality dashboards from CSV, JSON, Parquet, and DuckDB-compatible files. Zero setup. No accounts. No infra. One command. Offline-ready.
You need a credible report now. Not in two weeks, not after setup and governance meetings.
- Consultants: Client deliverables on tight timelines
- Data analysts: Ad-hoc reports that nobody will maintain
- Finance teams: One-off analyses that expire after the decision
- Public sector: Data must stay local, no cloud
- Regulated industries: Audit trails on a laptop
You don't need a BI platform. You don't need a Python environment. You need speed. You need local data. You need something you can delete without feeling guilty.
You tried Python notebooks. They work great until you need to share them. Then you're explaining virtual environments to people who just want to see the chart.
That's where cuiqviz comes in.
# Export standalone HTML (offline, shareable)
cuiqviz export data.csv report.html
# Add title and theme
cuiqviz export -t "Q4 Results" --theme dark data.csv report.html
# Multi-chart dashboard
cuiqviz export dashboard.toml report.htmlThat's it. No setup. No warehouses. No permission models. No refresh pipelines.
Generated reports are completely standalone β embed all assets, work offline, open anywhere.
Power BI and Tableau demand cloud infrastructure. Evidence and Rill require Git and build pipelines.
cuiqviz works with data on your laptop, generates a standalone file, and stays offline. Your data never leaves your machine.
You win when:
- Data is sensitive or regulated
- Internet is unreliable
- IT approval is impossible
- You just need to send a file
- Open file β get chart β export HTML β done
- No data modeling
- No semantic layers
- No user management
- No configuration
Your pitch: "Open file β write SQL β chart β export β done."
No one optimizes for this.
Power BI fights throwaway reports. They want persistent dashboards, centralized ownership, long-lived assets.
cuiqviz assumes:
- Reports expire
- Dashboards are deleted
- Nobody wants to maintain them
- Delete without regret
- Query files directly (CSV, JSON, Parquet)
- Cross-file joins, aggregations, filtering
- Zero import step
- Million-row performance locally
Python solutions (Jupyter, Plotly, Matplotlib, Pandas notebooks) have real problems for your workflow:
| Problem | Python | cuiqviz |
|---|---|---|
| Dependencies | 50+ packages, version hell | Zero dependencies in binary |
| "Works on my machine" | Common | Binary runs everywhere |
| Knowledge required | Python coding skills | Just SQL + file |
| Distribution | "Send them the notebook?" | One HTML file |
| Setup time | venv, pip, virtual env | Download binary, run |
| Sharing | Recipient needs Python + packages | Open in any browser |
| Updates | Major version breaks often | No dependencies to break |
| For non-coders | Impossible | Designed for them |
Python notebooks are great for reproducible research. They're awful for fast client deliverables.
With Python, you're fighting:
- Which version of Pandas?
- Did they install the environment right?
- Does it work on their machine?
- Can they even run Python?
With cuiqviz, you're done. They open the HTML file.
- macOS, Linux, or Windows
- That's it
Choose your platform:
- macOS (Intel): cuiqviz-darwin-x64
- macOS (Apple Silicon): cuiqviz-darwin-arm64
- Linux (x64): cuiqviz-linux-x64
- Windows: cuiqviz-windows-x64.exe
# Download and extract
curl -L https://releases.cuiqviz.io/latest/cuiqviz-$(uname -s | tr '[:upper:]' '[:lower:]')-$(uname -m).tar.gz | tar xz
# Make it executable
chmod +x cuiqviz
# Move to PATH (optional, for global access)
sudo mv cuiqviz /usr/local/bin/- Download
cuiqviz-windows-x64.exefrom releases - Place it in your project directory or add to PATH
- Run:
cuiqviz export data.csv report.html
cuiqviz --version# Simple CSV export
cuiqviz export sales.csv report.html
# View it
open report.htmlcuiqviz export --title "Q4 Revenue" --theme dark sales.csv report.htmlFree tier includes watermark footer. Pro tier removes branding:
# Check current license status
cuiqviz license status
# Install a license key (removes watermark)
cuiqviz license install <KEY>
# Upgrade to Pro (opens Paddle checkout)
cuiqviz license upgrade
# Generate test license (development)
node generate_license.jsSee LICENSE_GENERATOR.md for full details.
Generate an offline-ready HTML file in seconds:
# Simple export
cuiqviz export sales.csv report.html
# With customization
cuiqviz export --title "Q4 Revenue" --theme dark -p line sales.csv report.html
# Dashboard from TOML config
cuiqviz export dashboard.toml report.html --theme sepiaExported files:
- Fully standalone (no external dependencies)
- Work offline (no CDN needed)
- Professional styling by default
- Interactive (zoom, pan, filter, sort)
- Print-friendly (PDF export compatible)
For exploration before you settle on a final chart:
# Start local server (opens browser automatically)
cuiqviz data.csv
# Custom port
cuiqviz data.csv --port 9000Useful for exploring. For sharing, use --export.
All inferred automatically. Override with --plot-type.
- Line - Time series, trends, multi-metric
- Bar - Comparisons, rankings, categories
- Scatter - Correlation, relationships
- Histogram - Distribution analysis
- Pie - Composition, percentages
- Area - Cumulative trends
- Data Tables - Sortable exploration
- 3 themes: Light, Dark, Sepia
- 4 color palettes: Default, Pastel, Dark, Vibrant
- Responsive design: Desktop β tablet β mobile
- Print-optimized: PDF-ready output
- Zoom (0.5x to 5x with scroll)
- Pan (click and drag)
- Hover tooltips
- Sortable table columns
- Reset to original
- CSV (with headers)
- JSON (array of objects)
- Parquet (via DuckDB)
- SQL queries (SELECT only, read-only)
- TOML dashboards - Multi-chart layouts with config files
- Text blocks - Markdown content (headers, lists, formatting)
- SQL transforms - Filter, aggregate, join before visualizing
- Multiple files - Load separate datasets as dashboard
- Free tier - Full functionality with watermark footer
- Pro tier - Remove branding, unlimited exports
- No blocking - Graceful degradation, non-blocking license checks
- Offline validation - Local license verification with tamper detection
- Machine binding - Optional license restriction to prevent sharing
Most users only need these:
# Generate report (output file is optional, defaults to output.html)
cuiqviz export data.csv report.html
# With title
cuiqviz export -t "2024 Sales" data.csv report.html
# Dark theme (presentations)
cuiqviz export --theme dark data.csv report.html
# Sepia theme (printing)
cuiqviz export --theme sepia data.csv report.htmlFull options:
| Option | Short | Purpose | Default |
|---|---|---|---|
--plot-type |
-p |
line, bar, scatter, pie, histogram, area, box, table | Auto |
--title |
-t |
Custom report title | Auto-detected |
--theme |
light, dark, sepia | light | |
--colors |
default, pastel, dark, vibrant | default | |
--grid |
Show grid lines | true | |
--legend |
Legend position: top, bottom, right, left, none | right | |
--layout |
Dashboard grid layout (COLxROW) | 2x2 | |
--sample |
Sample N rows from data (0=all) | 0 | |
--max-size |
Warn if file > N MB | 100 |
Run cuiqviz --help for complete list.
cuiqviz export --title "Q4 Revenue Summary" --theme sepia -p line revenue.csv Q4_report.htmlcuiqviz export --title "2024 Performance Analysis" --theme dark --colors vibrant client_data.csv client_analysis.html# Export with specific chart type
cuiqviz export -p bar data.csv final.html# Create dashboard.toml with multiple charts
cuiqviz export dashboard.toml dashboard.html --theme darkSee examples/ for complete TOML config samples.
month,revenue,expenses
January,50000,30000
February,55000,32000[
{"month": "January", "revenue": 50000},
{"month": "February", "revenue": 55000}
]- Numeric: Integers or decimals (no currency symbols)
- Categorical: Text values, regions, categories
- Date: ISO format (YYYY-MM-DD) or month names
Transform data before visualization:
# Filter
cuiqviz export "SELECT * FROM 'sales.csv' WHERE region = 'North'" report.html
# Aggregate
cuiqviz export "SELECT product, SUM(amount) FROM 'sales.csv' GROUP BY product" report.html
# Sort and limit
cuiqviz export "SELECT * FROM 'data.csv' ORDER BY value DESC LIMIT 100" report.html| Size | Status | Recommendation |
|---|---|---|
| < 10 MB | β Excellent | Full featured |
| 10-50 MB | β Good | Standard use |
| 50-100 MB | Slower rendering | |
| > 100 MB | β Not recommended | Data sampling needed |
- Recommended: 4-6 charts
- Soft limit: 12 charts
- Hard limit: 20 charts
Input file is required:
# β Wrong
cuiqviz export report.html
# β
Correct
cuiqviz export data.csv report.html- First row must be column headers
- No blank rows
- All rows same number of columns
Must be array of objects:
[{"col": value}, ...] # β
Correct
{"col": value} # β WrongOverride explicitly:
cuiqviz export -p bar data.csv report.htmlThe cli module requires flags before positional arguments:
# β Wrong
cuiqviz export data.csv -t "Title" report.html
# β
Correct
cuiqviz export -t "Title" data.csv report.htmlβ
Consultant deliverables - Client reports on fixed budgets
β
Finance reviews - Quarterly analysis, audit trails
β
Public sector - Compliant, local-only reporting
β
Data freelancing - White-label client reports
β
Regulated analysis - Healthcare, financial services, defense
β
Shadow analytics - Personal tool, no IT approval needed
- Quick start: QUICKSTART.md
- TOML config guide: TOML_CONFIG_GUIDE.md
- License generator: LICENSE_GENERATOR.md
- Phase 2 details: PHASE_2_QUICK_REFERENCE.md
- Examples: examples/
- Binary Size: ~3.2 MB (self-contained)
- Startup: < 1 second
- Formats: CSV, JSON, Parquet, DuckDB
- Charts: 8 types + data tables
- Export: Standalone, offline HTML
- Platforms: Linux, macOS, Windows
- License: Free (with watermark) + Pro tier
Backend: V language | Data: DuckDB | Visualization: Apache ECharts 5 | Web: veb framework
Licensing: RSA-256 signed JWT | Security: SHA-256 tamper detection + machine binding
Built for people who need answers fast. For reports you'll delete. For data that stays local.
Phase 2 Complete: Professional licensing with watermark removal and pro features.
