QueryPanel vs Metabase
Open-source analytics with straightforward embedding for lighter customer-facing dashboards.
Metabase is a popular open-source analytics tool for internal dashboards that also supports embedding into customer-facing products. Its modular embedding SDK (`@metabase/embedding-sdk-react`) renders real React components, but it requires a Pro or Enterprise plan, and every customer user who signs in to an SSO embed counts as a billed Metabase user. Open source and Starter get view-only guest embeds. Teams often shortlist Metabase when cost, self-hosting control, and a familiar question and dashboard workflow matter more than tenant-customizable dashboards with an AI assistant.
Last reviewed . Vendor facts are checked against public docs and pricing pages on that date.
Comparison at a glance
This table summarizes typical positioning. Every vendor changes over time—validate details against current documentation and your security review.
| Dimension | Metabase | QueryPanel |
|---|---|---|
| Embed model | Modular embedding SDK renders React components (Pro/Enterprise); guest embeds and full-app embedding use an iframe. Open source and Starter get view-only guest embeds. | First-class `@querypanel/react-sdk` components—`QuerypanelEmbedded` for a full dashboard, or `QueryPanelProvider` with `QueryInput` / `QueryResult` for a bespoke flow. They render in your React tree like any other product screen (layout, router, modals, tokens)—not a separate iframe "mini app" on another origin. Mint short-lived JWTs on your server; never ship your workspace private key to the browser. |
| React SDK | `@metabase/embedding-sdk-react`: React 18 or 19, Node 20+, browser-only rendering, one dashboard per app page, and the package version must match your Metabase server. | `@querypanel/react-sdk` with `QuerypanelEmbedded` for the full workspace, plus provider and query components for custom flows. |
| Multi-tenancy mechanism | Tenants feature driven by a `@tenant` JWT claim, plus one of three isolation strategies: row and column security on user attributes, connection impersonation, or database routing. | Tenant column declared at database attach; RS256 JWT from `@querypanel/node-sdk` carries the tenant ID; tenant filter applied at SQL generation and checked before execution. |
| AI / natural language | Metabot embedded AI chat (Pro/Enterprise, SSO embeds only) builds questions from existing metrics, models, and tables; documented not to write SQL or build dashboards. Self-hosted instances bring their own model key. | Natural language to SQL and chart generation are central paths for embedded users and server-side `ask()` calls; the assistant edits tenant dashboards. |
| End-user dashboard editing | SSO embeds can expose the query builder and dashboard editing to customer users on paid plans; guest embeds are view-only. | Tenants fork shared dashboards and customize their own copy with AI help, without seeing the database. |
| Semantic layer / modeling | Models, metrics, and saved questions curated in Metabase; no productized gold-SQL or glossary loop tied to NL→SQL. | Gold SQL queries (curated examples the model prioritizes), database annotations (business context on tables/columns, re-embedded with schema), glossary (domain terms and definitions), and tenant-level definitions (isolation field, enforcement, and per-tenant sync context so every ask() is grounded in the right customer slice—not a one-size global prompt). |
| Data plane & credentials | Metabase connects directly to your database; with self-hosting, credentials and query results stay in your environment, on Metabase Cloud they pass through Metabase. | Headless Node path runs SQL with your own drivers, so credentials and rows never leave your servers; headful path uses your attached database. |
| Deployment | Self-host the open-source or paid editions, or use Metabase Cloud; on Cloud, auto-upgrades can require pinning SDK versions. | Hosted service with React and Node SDKs; Node SDK adapters cover Postgres, ClickHouse, and BigQuery, plus a custom adapter option. |
| Pricing shape | Per seat: open source free; Pro $575/month including 10 users plus $12 per extra user; Enterprise custom. Embed users count as users (checked October 19, 2026). | Counts unique tenants per billing month, not seats; AI chart generation metered separately; free tier available. |
| Time to first embed | Fast for a guest embed of an existing dashboard; SDK embeds add JWT SSO setup, tenant strategy, and version alignment. | Attach a database, mint a JWT on your server, render `QuerypanelEmbedded` on one route; customers can ask questions immediately. |
| Best first win | Stand up dashboards quickly on a familiar open-source stack and embed a lighter reporting surface for early customers. | Launch tenant-scoped AI analytics inside your React product without treating Metabase as the long-term customer UX shell. |
Open-source flexibility versus embedded product UX
Metabase is attractive for teams that can own hosting, permissions, and the customer experience around its dashboards. The open-source edition is free and runs anywhere, but guest embeds are view-only: no query builder, no SQL editor, and no AI chat. QueryPanel is aimed at SaaS teams that want tenant-aware customer questions and dashboard customization to feel native to the product from the first release. If your customers only need a fixed report, Metabase guest embeds are hard to beat on cost.
Seats versus tenants
Metabase's pricing page says users of your embeds count as users, and its docs warn against sharing one account across people. Pro lists $575 per month with 10 users and $12 per extra user (checked October 19, 2026). At 50 tenants with 20 users each, that is about $12,455 per month at list price before any negotiation. QueryPanel counts unique tenants per billing month, so the same example is 50 tenants however many people each customer invites. Model both at today's user count and at twice that.
Questions versus dashboards in the AI path
Metabase's embedded AI chat (Metabot, Pro and Enterprise, SSO embeds only) builds a question in the query builder from existing metrics, models, saved questions, or tables. Its docs state it will not write SQL, build or edit dashboards, or create metrics. QueryPanel's assistant generates SQL against your schema, renders a chart, and can add it to a tenant's dashboard. If your roadmap says customers ask a question and pin the answer, test that full flow in both products.
When Metabase is the better fit
Honest tradeoffs help your team pick faster—and match how buyers actually decide.
- You need a lower-cost or open-source starting point for dashboards, and view-only guest embeds with locked filters are enough for customers.
- Internal analytics and simple customer reporting can share the same Metabase deployment, and your analysts already know it.
- You want to self-host the whole analytics stack on your own infrastructure and are comfortable owning upgrades.
- Your embedded user count is small, so per-seat pricing on Pro stays predictable.
- Advanced AI-assisted dashboard customization is not the primary customer job yet.
When QueryPanel is the better fit
Choose QueryPanel when customer-facing AI analytics, tenant-level dashboard customization, and tenant-based pricing are the requirement. Choose Metabase when cost, self-hosting, and a familiar dashboard tool shared with internal analysts are the priority.
- You want a trainable knowledge system—gold queries, DB annotations, glossary, and tenant-aware definitions—so NL→SQL and charts reflect your business, not generic schema-only guesses.
- You want customer analytics to feel like a native React product surface with a Notion-like workspace and built-in AI assistant, where every customer user is not a billed Metabase seat.
- You need tenant-aware natural-language SQL generation as a first-class product workflow; Metabase's embedded AI builds questions in its query builder and its docs say it does not write SQL or build dashboards.
- Customers should create and customize their own dashboards with AI help, not only view dashboards you built.
- You want a headless zero-trust path where your backend owns JWT signing and SQL execution for customer asks.
- You want the analytics workspace to sit inside your existing routes without Metabase's SDK constraints, such as one dashboard per app page and a package version that must track your Metabase server.
Pricing notes
Checked . Pricing changes; confirm on the vendor pages before you budget.
Metabase
Metabase prices by user. As checked October 19, 2026, the open-source edition is free (guest embeds only), Pro is $575 per month including 10 users with $12 per extra user per month, and Enterprise is custom; a Starter plan sits below Pro but does not include the React SDK. Metabase's pricing page states that users of your embeds accessed through your product count as users. Metabase's AI service is billed separately by usage.
QueryPanel
QueryPanel pricing is tenant-based: plans count unique tenants per billing month, not end-user seats, so a customer inviting more colleagues does not raise the bill. AI chart generation is metered separately, and a free tier is available. See the pricing section for current plans.
Sources: Metabase pricing, QueryPanel pricing
Migrating from Metabase to QueryPanel
1. Inventory embeds, dashboards, and seats
List every guest embed, SDK component, and full-app embed in your product, the dashboards and saved questions behind them, and how many customer users hold Metabase accounts today. The seat count is your baseline for the pricing comparison; the usage data tells you which dashboards to rebuild first.
2. Map Metabase tenants and permissions to a tenant column
Write down which strategy you use: row and column security on a user attribute, connection impersonation, or database routing. For the first, declare that attribute's column as the QueryPanel tenant field. Mint RS256 JWTs with `@querypanel/node-sdk` from the same session that currently fills Metabase's `@tenant` claim.
3. Turn models and saved questions into knowledge
Sync the schema, then convert the Metabase models and most-used saved questions into gold SQL queries. Copy column descriptions into annotations and add glossary terms for your business vocabulary. Add tenant-level definitions where customers define a metric differently.
4. Embed QuerypanelEmbedded on one route behind a flag
Replace one Metabase dashboard route with `QuerypanelEmbedded` from `@querypanel/react-sdk` for internal users and a few pilot tenants. Recreate the top dashboards as shared templates tenants can fork. Leave the Metabase embed in place elsewhere.
5. Compare numbers per tenant side by side
For each pilot tenant, compare headline numbers between the Metabase dashboard and QueryPanel over identical date ranges and filters. Ask the questions customers already send to support, review the generated SQL, and fix gaps with gold SQL or annotations.
6. Cut over and retire the Metabase embed path
Move remaining tenants, then remove the Metabase SDK package, the JWT SSO endpoint, and customer user accounts in Metabase. If internal analysts still use Metabase, keep that deployment and drop to the plan that matches internal seats only.
Comparison FAQ
Is Metabase or QueryPanel better for multi-tenant SaaS analytics?
Metabase can work when your team is prepared to configure its Tenants feature and one of its permission strategies: row and column security, connection impersonation, or database routing. QueryPanel is a stronger fit when tenant-aware AI SQL, tenant-customizable dashboards in a React workspace, and pricing by tenant rather than by seat are core product requirements.
How much does Metabase embedding cost compared with QueryPanel?
Metabase's open-source edition is free but limited to view-only guest embeds. The React SDK needs Pro or Enterprise; Pro lists $575 per month including 10 users plus $12 per extra user, and embed users count as users (checked October 19, 2026). QueryPanel counts unique tenants per billing month, meters AI chart generation separately, and has a free tier.
Does Metabase embed with an iframe or React components?
Both, depending on mode. The modular embedding SDK renders React components in your app and requires React 18 or 19, client-side rendering, and a package version matched to your Metabase server. Guest embeds and full-app embedding use an iframe. QueryPanel's `QuerypanelEmbedded` renders as React components in your tree, authorized by a JWT your backend mints.
Can Metabase's AI build dashboards for my customers?
Not as documented today. Metabase's embedded AI chat creates questions in its query builder from existing metrics, models, saved questions, or tables, and its docs say it will not write SQL or build and edit dashboards. QueryPanel's AI assistant writes SQL for your schema, renders charts, and edits tenant dashboards.
Is QueryPanel a full replacement for Metabase?
For customer-facing analytics, usually yes. For internal BI, not necessarily. QueryPanel is built for analytics inside your product, not as a self-serve BI tool for your own analysts. Many teams move customer embeds to QueryPanel and keep Metabase for internal dashboards, which also removes customer users from the Metabase seat count.
How hard is it to migrate from Metabase embedding to QueryPanel?
The data layer usually carries over unchanged, because both connect directly to your database. The work is mapping Metabase's tenant claim and permission strategy to a QueryPanel tenant column, turning saved questions and models into gold SQL and annotations, and rebuilding the dashboards customers use. Run both per tenant before removing the Metabase JWT endpoint.
Related reading
- Metabase alternativesSeven alternatives compared on seat cost, React SDK limits, and embedded AI.
- Metabase vs SisenseOpen-source embedding versus enterprise OEM BI, with QueryPanel as a third option.
- Iframe vs native React embedded analyticsWhich embeds render in your DOM and how to check.
- Tenant-safe embedded analytics tutorialReact and Postgres walkthrough with server-minted tenant JWTs.
- Cost of building embedded analytics in houseBuild-versus-buy numbers to set next to Metabase seat pricing.
Still evaluating Metabase and QueryPanel?
Start on the free tier, embed one dashboard, and compare implementation time against your current shortlist.