These are the docs for the Metabase master branch. Some features documented here may not yet be available in the latest release. Check out the docs for the latest version, Metabase v0.55.

Embedding introduction

You can embed Metabase tables, charts, and dashboards—even Metabase’s query builder—in your website or application.

Here are the different ways you can embed Metabase.

Embedded analytics SDK with React

With the Embedded analytics SDK, you can embed individual Metabase components with React (like standalone charts, dashboards, the query builder, and more). You can manage access and interactivity per component, and you have advanced customization for seamless styling.

When to use the Embedded analytics SDK: you want the most control over how you embed Metabase in your React app.

Embedded analytics JS

With Embedded analytics JS, you can embed individual Metabase components in your web app with JavaScript — no React required. Choose from dashboards, questions, or the query builder, and configure per‑component options like drill‑through, parameters, downloads, and theming.

When to use Embedded analytics JS: you’re not using React (or want a drop‑in script) and want to embed Metabase components with per‑component controls and theming.

Interactive embedding

Interactive embedding is the only kind of embedding that integrates with SSO and data permissions to enable true self-service access to the underlying data.

When to use interactive embedding: you want to offer multi-tenant, self-service analytics. With interactive embedding, people can create their own questions, dashboards, models, and more, with row and column security policies determining which data they can access.

Static embedding

Also known as signed embedding, static embedding is a secure way to embed charts and dashboards.

When to use static embedding: you don’t want to offer ad-hoc querying or chart drill-through. To filter data relevant to the viewer, you can use static embeds with locked parameters.

If you’d like to share your data with the good people of the internet, admins can create a public link or embed a question or dashboard directly in your website.

When to use public links and embeds: public links and embeds are good for one-off charts and dashboards. Admins can use them when you just need to show someone a chart or dashboard without giving people access to your Metabase. And you don’t care who sees the data; you want to make those stats available to everyone.

Comparison of embedding types

Action SDK JS Interactive Static Public
Display charts and dashboards
Display interactive filter widgets
Export results*
Restrict data with locked filters
Restrict data with row and column security
Use the drill-through menu
Self-serve via query builder
View usage of embeds with usage analytics
Actions on dashboards
Embed individual Metabase components
Manage access and interactivity per component

* Each embedding type allows data downloads by default, but only Pro and Enterprise plans can disable data downloads.

Embedded analytics SDK vs JS

When deciding between the Embedded analytics SDK and Embedded analytics JS: if your app uses React, you should use the SDK. Otherwise, use the JS library. The JS library uses the SDK under the hood, but you can have more control with React and the SDK.

Switching from static to interactive embedding

Interactive embedding requires authentication via single sign-on (SSO), so you’ll need to set that up both in your Metabase and in your application’s server. Check out our Interactive embedding quick start.

Further reading

Read docs for other versions of Metabase.

Was this helpful?

Thanks for your feedback!
Want to improve these docs? Propose a change.