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.56.

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 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. Embedded Analytics JS integrates with SSO and data permissions.

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

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.

Interactive embedding

Interactive embedding allows you to embed the entire Metabase app in an iframe, and integrate Metabase SSO with your app’s authentication.

Comparison of embedding types

Action React SDK JS Interactive Static Public
Display charts and dashboards
Display interactive filter widgets
Export results*
Restrict data with locked filters
Data segregation
Use the drill-through menu
Self-serve via query builder
Basic appearance customization**
Advanced theming
View usage of embeds with usage analytics
Embed individual Metabase components
Manage access and interactivity per component
Custom layouts
Customize behavior with plugins

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

** Requires a Pro and Enterprise plan for any embedding type.

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 embedding to Embedded Analytics JS

Embedded Analytics JS 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 Modular embedding authentication.

Further reading

Read docs for other versions of Metabase.

Was this helpful?

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