Dev In The Mountain Header
A Developer In The mountains having fun

Open Source Alternatives to Power BI: What's Worth Self-Hosting in 2026

Power BI is easy to start with and easy to outgrow on price. The desktop app is free, then the first time you want to share a report with a coworker, everybody needs a license. If your data already lives in a database and you're comfortable running a container, there are good open source options.

There are also some bad ones, or at least some that aren't what they used to be. Plenty of "best open source BI" lists still recommend tools whose free editions are gone, and install commands that have gone stale. This post covers nine tools from those lists, plus two newer ones, with licenses, versions, and commands checked against each project on November 3, 2026.


The short version

  • Want the closest thing to Power BI? Start with Metabase. Non-technical people can actually use it.
  • Need row-level security and SSO without paying, or lots of chart types? Use Apache Superset, and budget time for running it.
  • Is your data mostly metrics and time series? Use Grafana.
  • Do you want dashboards in Git? Use Evidence for reports, Lightdash if you're a dbt shop, or Rill for fast metrics dashboards.
  • Building something custom in Python? Use Streamlit for speed, Dash for more control.
  • Considering Pentaho or JasperReports Server as a free option? Don't. Those free editions are gone or restricted. Details below.

How they compare

ToolSetupUsable without code?Best forLicense
MetabaseEasyYesGeneral business dashboardsAGPL (paid editions are commercial)
Apache SupersetModerateSomewhatLarge, flexible deploymentsApache 2.0
RedashModerateNo, SQL requiredAnalyst-written SQL reportsBSD-2-Clause
GrafanaEasySomewhatMetrics, logs, time seriesAGPL-3.0
EvidenceEasyNoReports written in SQL and MarkdownMIT
LightdashModerateYes, once modeledTeams with dbt or a YAML metrics layerMIT core, commercial ee directory
RillEasyYes, once modeledFast metrics dashboardsApache 2.0
StreamlitEasyNoCustom Python data appsApache 2.0
DashEasyNoCustom Python analytical appsMIT
JasperReports LibraryHardNoPixel-perfect reports inside Java appsLGPL-3.0
PentahoModerateSomewhatExisting Pentaho shopsNot open source for production use

The setup and no-code ratings are judgment calls, not measurements. The licenses come from each project's repository, and they do change, so check again before you commit.


What you're actually replacing

Be honest about this part first, because it decides whether switching makes sense.

Microsoft's list prices are $14 per user per month for Power BI Pro and $24 for Premium Per User, both billed yearly. Fabric capacity pricing varies. Desktop is a free download, but it only runs on Windows.

The catch is sharing. Free users can only view shared content if it's hosted on Premium capacity or Fabric F64 and up. Below that, everyone who reads a report needs a paid license too, and PPU content can only be shared with other PPU users.

So 50 people on Pro costs $700 a month, or $8,400 a year. That's the number you're trying to beat, and "free" software doesn't automatically beat it:

  • You pay for hosting and for someone's time. Upgrades, backups, and on-call all land on your team now.
  • The paid tiers aren't always cheaper. At Metabase's list prices with monthly billing, 50 users costs $370 a month on Starter and $1,055 on Pro. Pro is the tier with row-level permissions and SSO, so at that size it costs more than Power BI Pro.
  • You won't migrate your reports. Plan to rebuild them. None of these tools replicates DAX, Power Query, or the Excel and Microsoft 365 integration, and if your team lives in those, that's a real loss.

Switching makes the most sense when your data is already in a SQL database, you have many report viewers and few report builders, or you need to self-host, run outside of Windows, or embed dashboards in your own product.


Closest to Power BI

Metabase

Point it at a database and people can build questions and dashboards through a GUI, dropping to SQL when they need to. This is the one to try first.

bash
docker run -d -p 3000:3000 --name metabase metabase/metabase

Then open http://localhost:3000. That quick start stores everything in a built-in H2 file, which is fine for a trial. For anything real, Metabase's production guide uses Postgres as the application database, because that's where your users, questions, and dashboards live. You should also pin a version rather than using latest. The newest release is v0.65.2, and there's a v0.64-lts image if you'd rather move slowly.

The thing to check before you commit is the feature split. The free edition has unlimited users, but row and column level permissions, SSO, audit logs, and white labeling are all on the paid Pro tier. If you need any of those, compare the price against Superset's admin overhead.

Website · GitHub

Apache Superset

The most capable of the group: a no-code chart builder, a SQL editor, a lightweight semantic layer for custom dimensions and metrics, and a long list of supported databases. It also includes things Metabase charges for, like row-level security and OAuth and LDAP login. The price is a bigger system to run and a steeper learning curve for admins.

bash
git clone https://github.com/apache/superset
cd superset
git checkout tags/6.1.0
docker compose -f docker-compose-image-tag.yml up

Then open http://localhost:8088 and log in with admin / admin. 6.1.0 was the latest release when I checked, though the official quickstart still showed 6.0.0, so check the releases page. The Superset docs are clear that this Compose setup is for sandboxes, not production. They point you to Kubernetes for that, which gives you a good idea of the operational weight you're signing up for.

Website · GitHub

Redash

Redash is SQL-first. You write queries, turn the results into visualizations, and pin them to dashboards. There's little here for someone who doesn't write SQL, but analysts tend to like how direct it is.

A lot of write-ups describe Redash as dead or slowing down, and that's out of date. There was a real gap, with no releases between v10.1.0 in November 2021 and v25.1.0 in January 2025. Since then it has shipped about every six to seven months, most recently v26.9.0 in September 2026, which includes a security fix for CVE-2026-33213. It's alive, but it's a small community-led project, so don't expect the pace of Metabase or Superset.

For installation, use the setup repo, which has a script for a single Linux server. When you upgrade, update the web app, scheduler, and workers together.

Website · GitHub


Metrics and time series

Grafana

Grafana is excellent for monitoring, logs, IoT, and anything else where the x-axis is time. It's less suited to classic business reporting like a sales table grouped by region and quarter. It can do that, but you'll be working against the grain.

bash
docker run -d -p 3000:3000 --name grafana grafana/grafana

Watch out for two things. Older guides use the grafana/grafana-oss image, but that repository stopped being updated at release 12.4.0. grafana/grafana is the same open source build. Grafana's docs also recommend grafana/grafana-enterprise by default. It's free to run, but it isn't the AGPL edition, so choose based on what you need.

If you're also running the Metabase container, both want port 3000. Change one of them to something like -p 3001:3000.

Website · GitHub


Dashboards as code

If your team already works in pull requests, these fit better than anything with a drag-and-drop editor. Reports get code review, history, and rollbacks.

Evidence

You write reports in Markdown with embedded SQL, and Evidence builds them into a static site you can host anywhere, or publish on its hosted Evidence Studio.

bash
curl -fsSL https://evidence.studio/install.sh | sh
evidence init my-project
cd my-project
evidence dev

This is a change from what you'll see in older guides. The current README installs a standalone CLI, and the create-evidence package behind the old npm create evidence@latest command hasn't been updated on npm since 2024. As with any curl | sh install, read the script before you run it.

Website · GitHub

Lightdash

Lightdash fills the gap between code and self-service. Engineers define metrics, dimensions, and joins in a dbt project or standalone YAML, and everyone else explores them in a UI. If you already have dbt, look at this one early. You can self-host it with Docker or Kubernetes. Most of the code is MIT, but the packages/backend/src/ee directory has its own license, and enterprise features need a key.

Rill

Rill defines dashboards in YAML and SQL, on top of OLAP engines like DuckDB and ClickHouse. It's narrower than a full BI suite, but it's built for fast, metrics-heavy exploration, and it takes two commands to try.

bash
curl https://rill.sh | sh
rill start my-project

Website · GitHub


Custom apps in Python

Neither of these is really a BI tool. They're frameworks for building your own data app, so you get complete flexibility and also have to write and host all of it. There's no self-service for your users unless you build it.

Streamlit

The fastest way to get from a Python script to a web page. A working dashboard fits in a few lines:

python
# st_app.py
import pandas as pd
import streamlit as st

st.title("Sales by region")
df = pd.DataFrame({"region": ["North", "South", "East", "West"], "sales": [120, 95, 143, 80]})
st.bar_chart(df, x="region", y="sales")
bash
pip install streamlit
streamlit run st_app.py

Website · GitHub

Dash

Dash is built on Plotly charts. It takes more code than Streamlit but gives you more control over layout and interactions, which starts to matter as an app grows.

python
# app.py
from dash import Dash, dcc, html
import plotly.express as px

df = px.data.gapminder().query("year == 2007")
fig = px.scatter(df, x="gdpPercap", y="lifeExp", size="pop", color="continent", log_x=True)

app = Dash()
app.layout = html.Div([html.H1("Life expectancy vs. GDP"), dcc.Graph(figure=fig)])

if __name__ == "__main__":
    app.run(debug=True)
bash
pip install dash pandas
python app.py

Then open http://localhost:8050.

Website · GitHub


The two that come with caveats

These show up on most lists, usually as the answer for paginated, SSRS-style reports. Both have changed enough that the old recommendation doesn't hold.

JasperReports

Three different things share this name, and only one is still straightforwardly open source:

  • JasperReports Library is open source under LGPL-3.0 and actively released (7.1.1 at the time of writing). It's a Java library for pixel-perfect paginated output, so you embed it in an application. It's not a BI product you hand to users. The repo has also moved, and the current home is Jaspersoft/jasperreports.
  • JasperReports Server was the part that looked like a BI platform, and its community edition was withdrawn in early 2024. Only the commercial edition remains.
  • Jaspersoft Studio, the report designer, is still free to download, but according to that same report, its source is no longer distributed.

If you need invoices or regulatory reports generated from a Java app, the library is still a sound choice. If you want a self-hosted report portal, this no longer gets you there for free.

Pentaho

I wouldn't count this as an open source alternative anymore. Pentaho's own comparison sheet renames the Community Edition to "Developer Edition" and lists it as free for non-production use only. Hitachi Vantara also closed the Pentaho community forum in October 2025, and Pentaho was reportedly sold to LEO Software in June 2026, although I couldn't find an official announcement of that sale.

There's still code on GitHub, but read the license terms for the version you plan to run. If you're on an old community version today, it's worth planning your next step before you need one.


Where I'd start

  1. Run Metabase in Docker and connect it to a copy of your real data. It takes minutes, and you'll quickly learn whether a GUI tool covers your reports.
  2. List what you actually need before you judge it. Row-level security, SSO, embedding, and scheduled reports are what split these tools, far more than chart types.
  3. Move to Superset if those requirements rule out free Metabase and you have someone who can own the deployment.
  4. Reach for Grafana, Evidence, Lightdash, or Streamlit when the problem has a specific shape: time series, reports in Git, a dbt project, or a custom app.
  5. Run the numbers honestly. If you have 10 report builders, no one to run servers, and a company already deep in Microsoft 365, staying on Power BI Pro may be the right call.

Wrapping up

Open source BI is in a good place, as long as you ignore the parts of it that have quietly stopped being open. Metabase and Superset can replace Power BI for a lot of teams working from SQL databases, and the dashboards-as-code tools are better than Power BI at things it was never designed to do. What you give up is the Microsoft integration and DAX, and what you take on is running the thing yourself. If that trade works for your team, a Docker container is a cheap way to find out.

More places to find me
Mental Health
follow me on Mastodon