explaingit

mckinsey/vizro

Analysis updated 2026-07-03

3,688PythonAudience · dataComplexity · 2/5LicenseSetup · easy

TLDR

Vizro is McKinsey's open-source Python toolkit for building interactive multi-page data dashboards in a few dozen lines of configuration, with built-in professional design and a companion AI feature that generates charts from plain-English descriptions.

Mindmap

mindmap
  root((Vizro))
    What it does
      Builds data dashboards
      Config-driven layout
      Multi-page navigation
    Building Blocks
      Charts and tables
      Filters and sliders
      KPI indicators
      Actions and drill-down
    Config Formats
      Python dicts
      YAML or JSON
      Pydantic models
    Tech Stack
      Python
      Plotly
      Dash
      Pydantic
    Vizro-AI
      Plain-English chart gen
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

What do people build with it?

USE CASE 1

Build a polished multi-page sales dashboard with filters and KPI cards in under 50 lines of Python without writing any CSS.

USE CASE 2

Let a non-engineer analyst describe a chart in plain English and have Vizro-AI generate the Plotly figure automatically.

USE CASE 3

Wire multiple charts together so that selecting a filter on one chart automatically updates all related visualizations on the page.

What is it built with?

PythonPlotlyDashPydanticVizro-AI

How does it compare?

mckinsey/vizrosandai-org/magi-1canonical/cloud-init
Stars3,6883,6883,687
LanguagePythonPythonPython
Setup difficultyeasyhardmoderate
Complexity2/55/53/5
Audiencedataresearcherops devops

Figures from each repo's GitHub metadata at analysis time.

How do you get it running?

Difficulty · easy Time to first run · 30min

Install with a single pip command from PyPI, Vizro-AI requires an OpenAI API key for the natural-language chart generation feature.

Apache License 2.0, use freely for any purpose, including commercial projects, as long as you keep the copyright notice.

In plain English

Vizro is an open-source Python toolkit, created by McKinsey, for building interactive data dashboards. Instead of writing thousands of lines of code, you describe what you want in a short configuration (a few dozen lines at most) and Vizro assembles a working multi-page dashboard for you. It is aimed at analysts, data scientists, and non-engineers who need a polished result without deep programming or design experience. A Vizro app is built from a small set of building blocks. Components are the visual pieces: charts, tables, summary cards, and KPI indicators. Controls let users interact with the data, for example drop-down menus, sliders, and filters. Actions wire things together so that selecting a filter on one chart updates others, or lets users drill into detail and export results. Layouts define how pieces are arranged on screen, and Navigation handles multi-page structure including nested menus. You describe all of this in Python dictionaries, JSON, YAML, or Pydantic models, whichever you prefer. The charts and interactive components are powered by Plotly and Dash, two well-established Python libraries for web-based data visualization. Pydantic handles the configuration layer, which means Vizro catches typos and invalid settings before the app even runs. The visual design defaults are built in, so the output looks professional without any custom CSS or design work. For users who want more control, Vizro supports optional code extensions. You can add custom chart types, override visual formatting, or write raw JavaScript, HTML, and CSS components that slot into the same configuration structure. This makes it possible to go from a quick prototype to a production-ready internal tool without switching frameworks. The repository also includes Vizro-AI, a companion package that lets you describe a chart in plain English and have it generated automatically. The main package is available on PyPI and installs with a single pip command. Live demo dashboards are hosted on Hugging Face Spaces and linked from the README.

Copy-paste prompts

Prompt 1
Using Vizro, show me how to build a two-page dashboard: page one has a bar chart and a date-range filter, page two has a scatter plot. Give me the full Python config.
Prompt 2
I want to use Vizro-AI to generate a chart from a natural language description. Show me how to set it up and ask it to create a line chart of monthly revenue from a pandas DataFrame.
Prompt 3
How do I add a custom Plotly chart type to a Vizro dashboard that doesn't come built in? Show me the extension pattern.

Frequently asked questions

What is vizro?

Vizro is McKinsey's open-source Python toolkit for building interactive multi-page data dashboards in a few dozen lines of configuration, with built-in professional design and a companion AI feature that generates charts from plain-English descriptions.

What language is vizro written in?

Mainly Python. The stack also includes Python, Plotly, Dash.

What license does vizro use?

Apache License 2.0, use freely for any purpose, including commercial projects, as long as you keep the copyright notice.

How hard is vizro to set up?

Setup difficulty is rated easy, with roughly 30min to a first successful run.

Who is vizro for?

Mainly data.

Open on GitHub → Explain another repo

This repo across BitVibe Labs

Scan in gitsafehub Deploy in gitdeployhub mckinsey on gitmyhub

Verify against the repo before relying on details.