Open-Source Β· No vendor lock-in

Open source reporting
and dashboards, self-hosted

Build interactive dashboards with a drag-and-drop canvas. Connect your databases, share with your team, enforce row-level security, all on infrastructure you own. The open source alternative to Power BI and Looker Studio: no black-box pricing, no per-seat fees, no data leaving your servers.

app.openreport.io / Sales report
Sales 2024
Q4 Performance
Public
Revenue Q4
€1.24M
β–² 18.4%
New customers
847
β–² 12.1%
Revenue by region
Monthly trend
By product
Top customers
Acme Corp€48K
Globex€41K
Initech€36K
Soylent€29K
Bar chart
Stacking Clustered
Show labels
Color
Border radius
Filters
Year 2024
Region All
Dimensions
D region
D product
D month
D customer
Measures
M revenue
M units sold
M margin %
fx growth YoY

Why open source BI matters

Your data is your business. The tool that reads it should be transparent, auditable, and yours.

No vendor lock-in

AGPL-3.0 source code. Fork it, patch it, run it on a Raspberry Pi, at home or at work. We can never deprecate or paywall what you've already deployed.

Your data, your servers

Self-host on-premise or in your own cloud. Connect to Postgres, MySQL, BigQuery, Azure SQL. Queries run locally, and nothing leaves your network.

Transparent forever

Read the code. Read the queries. Audit the security. No telemetry shipping back to a SaaS vendor. What you see in the repo is what runs in your stack.

Free, forever

Unlimited reports, unlimited users, unlimited datasources when you self-host. No seat licenses, no « first 5 are free, then $20/user » surprise.

European Union flag

Choose our cloud? Your data stays in France.

If you'd rather not host yourself, our managed cloud runs on European infrastructure: your databases, uploaded files and metadata are stored in France, under EU jurisdiction (GDPR-native, no Cloud Act exposure).

Everything you need to build reports and dashboards

No coding required. Connect your data, drag widgets, secure access, share with your team.

Drag & Drop Canvas

Freely position and resize widgets on a snap-to-grid canvas. Rotate, layer, group. Power BI-style freedom, on a multi-page layout.

Fine-grained

Row-Level Security

Define per-row access on any data model with glob patterns (*@acme.com, alice*). Deny by default, owner and admin bypass; viewers only see what you allow.

Built-in

Workspaces & team roles

Group reports in workspaces, invite members by email, assign Admin / Editor / Viewer roles. Move reports between workspaces, rename and delete with one click.

Multi-database

Native drivers for PostgreSQL, MySQL, Azure SQL, BigQuery. Or import CSV / Excel / Parquet / JSON locally with DuckDB. No warehouse required.

Cross-filtering

Click any chart to filter every other widget on the page. Highlights with opacity, drill paths, multi-select: exactly the interactions your users expect.

Multi-page reports

Organize content across pages with a sidebar navigator. Per-page filters, custom themes, and a preview/edit toggle, all without leaving the editor.

Custom measures

Build calculated fields with a SQL expression editor that knows your model. Sum, average, ratio, growth-over-time, anything DuckDB or your DB supports.

Export & share

Export to PDF, PNG, Excel or print. Share reports via public links; viewers don't need accounts, RLS-protected reports stay locked down.

Theme & customization

Light/dark themes, custom color palettes per legend value, gradients, shadows, borders, rotation. Fine-tune every widget down to the pixel.

Cloud

Scheduled emails

Send any report by email on a recurring cron: daily digests, weekly summaries, monthly KPIs. PDF attached, configurable timeouts, delivered to whoever you list.

12+ visualization types

From simple bar charts to gauges, treemaps and pivot tables, all native and all themeable.

Bar Chart Clustered, Stacked, 100%
Line Chart Line, Area, Stacked
Combo Chart Line + Bar
Pie / Donut With labels
Scatter / Bubble X, Y, Size
Table Sort, paginate, format
Pivot Table Row & column dims
42
Scorecard Single KPI
Gauge Arc, Column, thresholds
TreeMap Hierarchical blocks
Filter / Slicer List, dropdown, date
Shapes Square, circle, arrow, line

Built with modern tech

Read every line. Every dependency is open source.

React 19 Frontend
Vite Build tool
ECharts Visualizations
Node.js Backend
Express API
SQLite Metadata
DuckDB Local files

Simple pricing, free when you self-host

Self-host for free forever, or let us run it for you on European infrastructure (hosted in France πŸ‡«πŸ‡·).

Self-hosted
Community
Free
forever · on your servers
  • All visualizations & chart types
  • Unlimited reports & datasources
  • Workspaces & team roles
  • Row-level security
  • Cross-filtering, drill-down & multi-page
  • Custom visuals (workspace plugins)
  • Version history
  • Export PDF / Excel
Install from GitHub
Cloud
Free
€0
forever · managed
  • All Community features
  • 5 MB total file uploads
  • 3 scheduled emails (1/day per schedule)
  • Hosted & managed by us πŸ‡«πŸ‡·
  • Automatic updates
  • Community support
Sign up free
Cloud
Enterprise
Custom
contact us · managed
  • All Pro features
  • 2 GB+ file uploads
  • Unlimited scheduled emails (any frequency)
  • Custom domain
  • SSO authentication
  • Audit logs
  • Priority support
  • SLA guarantee
Contact us

Frequently asked questions

Is Open Report really free?

Yes. The self-hosted Community edition is free forever under the GNU AGPL-3.0: every feature, no user limit, no expiring trial. The hosted Cloud is a separate, optional service with a free tier and paid plans, for people who would rather not run a server.

How is it different from Power BI or Looker Studio?

You run it. The application sits on your infrastructure, queries your databases from there, and the data never travels to a vendor. Pricing is not per seat, so adding readers costs nothing. And the source is readable and forkable, which means the tool cannot be discontinued, re-priced or feature-gated out from under you. Point by point: Open Report vs Power BI, vs Looker Studio, vs Metabase.

Which databases can it connect to?

PostgreSQL, MySQL, Google BigQuery, Azure SQL and DuckDB. CSV and Excel files can be imported directly and are queried through DuckDB.

What do I need to self-host it?

Docker. One docker-compose.yml runs the published image (amd64 and arm64) as a single container: download it, generate three secrets, run docker compose up -d. A home server, a NAS or a Raspberry Pi is enough. You can also run it from source on a server with Node.js 22 or newer, with ./install.sh.

Does my data leave my servers?

Not when you self-host: the SQL runs from your own server against your own databases, and nothing is sent anywhere else. If you choose the hosted Cloud instead, it runs on European infrastructure in France.

Can I control what each person sees?

Yes. Row-level security filters the rows a user is allowed to read, at the semantic-model level, so it applies to every report built on that model. Workspaces and roles control who can view, edit or administer.

Can I use it at work, or in a commercial product?

Yes. The AGPL-3.0 permits commercial use. The one obligation it adds: if you modify Open Report and offer the modified version to others over a network, you have to publish those modifications under the same licence. Using it unmodified, internally or with customers, requires nothing of you.

Try it now

Launch the hosted app. No install required.

Open app

Or self-host with Docker in 2 minutes

Terminal
# Get the compose file
mkdir openreport && cd openreport
curl -fsSL -o docker-compose.yml \
  https://raw.githubusercontent.com/cracky777/openreport/master/docker-compose.yml

# Generate the three secrets it needs
printf 'SESSION_SECRET=%s\nINTERNAL_TOKEN_SECRET=%s\nDATASOURCE_ENC_KEY=%s\n' \
  $(openssl rand -hex 32) $(openssl rand -hex 32) $(openssl rand -hex 32) > .env

# Start it
docker compose up -d

Then open http://localhost:3001. The first user to sign up becomes the admin automatically.

One container, for amd64 and arm64: a home server, a NAS or a Raspberry Pi will do. Everything is kept in the openreport-data volume; upgrade with docker compose pull && docker compose up -d. On a public host, add COMPOSE_PROFILES=https to .env for nginx and a Let’s Encrypt certificate.

Rather run it from source? Clone the repository and run ./install.sh (Node.js 22 or newer), as described in the README.

Get notified when Pro launches

One email when it goes live. No spam, no marketing list, just the launch ping.