Skip to content

Guide · Open source

How to use Dash: build Python data apps and dashboards

Updated · written with AI from the project's own documentation and checked against our catalogue data

Dash is an open-source Python framework for building interactive web apps and dashboards, such as apps with dropdowns, sliders and graphs wired to your Python code. This guide shows you how to install it, what it is built on, how its pieces fit together and where its limits are. By the end you will know whether Dash fits your project and where to start.

Dashplotly/dash · ★ 24.5k · MIT

Quick start

  1. 1Check Python is installed. Dash requires Python. Confirm you have a working Python installation before continuing.
  2. 2Install Dash. Run pip install dash to install Dash from PyPI.
  3. 3Open the getting-started guide. Read the Docs tutorial at dash.plotly.com/getting-started to create your first app.
  4. 4Create a small app. Write a Python app that connects a Dropdown to a Plotly Graph, following the tutorial.
  5. 5Run it locally. Run the app on your machine and open it in a browser to test the interaction.
  6. 6Decide on sharing. If others need access, weigh the README's note that Open Source apps are not easily accessible to others against Dash Enterprise.

What is Dash and what is it built on?

Dash is a Python framework for building interactive web apps, such as dashboards, that combine UI elements like dropdowns, sliders, and graphs with your analytical Python code. It is built on Plotly.js, React and Flask, so you write Python and the framework handles the front end.

Dash is MIT licensed and is used to turn data analysis into something others can click through in a browser.

  • Plotly.js provides the charting, with about 50 chart types supported, including maps.
  • React and Flask sit underneath the framework; you do not need to write JavaScript to use Dash.

Install Dash with pip

Dash is installed from PyPI. The only prerequisite named in the project's README is Python, so install Python first, then run the install command.

pip install dash

Build your first Dash app

The official Docs include a getting-started tutorial, which the project says lets you create your first Dash app in under 5 minutes. A Dash app ties a UI element such as a Dropdown to a Plotly Graph. When the user selects a value, your application code runs and updates the output.

Dash code is declarative and reactive, which makes it easier to build apps with many interactive elements. The README's crossfiltering example has 5 inputs and 3 outputs and was written in 160 lines of Python.

  • Start with the Docs at dash.plotly.com/getting-started.
  • Browse working examples, with Python and R code, at dash.gallery.

Understand where a Dash app runs

With Dash Open Source, apps run on your local laptop or workstation. The README says they cannot be easily accessed by others in your organization.

If you need an app that many people can use, the README points to Dash Enterprise, a paid product. Its features include App manager for deploying apps, Kubernetes scaling, authentication options and a Job Queue for background work. Those features are described in the README; check the Dash Enterprise pages for current details.

  • Open Source: runs locally, good for personal analysis and prototypes.
  • Dash Enterprise: paid product for hosted, multi-user deployment, per the README.

Decide whether Dash fits your project

Dash suits Python developers who want to share analysis as an interactive app, data scientists building internal dashboards or ML demos, and teams that want interactive charts without learning JavaScript.

It is a poor fit for non-programmers, since building apps requires writing Python. It is also not the right choice if you need a non-Python, non-JavaScript stack, because the README centers on Python.

  • Good fit: Python developers, data scientists, teams avoiding JavaScript.
  • Poor fit: non-programmers, or anyone needing a hosted multi-user app without a paid product.

Alternatives to compare

Other Python tools for interactive apps include Streamlit, Gradio, Panel and Shiny for Python. Compare them on how you want to deploy, how much control you need over layout and whether your team is comfortable with callbacks.

  • Streamlit
  • Gradio
  • Panel
  • Shiny for Python

What people use it for

  • Turning a data analysis notebook into a dropdown-driven chart others can explore in a browser.
  • Building an internal dashboard with multiple inputs and linked outputs.
  • Creating an ML demo where users adjust sliders and see model output update.
  • Producing a report-style app styled to look like a PDF, as shown in the README's gallery example.

Frequently asked questions

How do I install Dash?

Install Dash from PyPI with pip install dash. The README names Python as the prerequisite, so make sure Python is installed first.

Is Dash free?

Dash is open source under the MIT licence. The README also describes Dash Enterprise, a paid product for hosted, multi-user deployment.

Do I need to know JavaScript to use Dash?

No. The README says you can build apps with Python while Dash handles the front end, which is built on Plotly.js, React and Flask. Building apps requires writing Python code.

Why can't others access my Dash app?

According to the README, Dash Open Source apps run on your local laptop or workstation and cannot be easily accessed by others in your organization. Dash Enterprise is the paid option the README points to for wider use.

How does Dash compare to Streamlit?

Both are Python tools for interactive apps. The source does not run a head-to-head comparison, so test each on your own use case and deployment needs.

What charts can Dash make?

Dash uses Plotly.js for charting, and the README says about 50 chart types are supported, including maps.

New agent skills, repos and AI tools — every week

The best new skills and open-source projects, the fastest-growing repos, and one free prompt. Five minutes to read. Unsubscribe anytime.

Our verdict

Use Dash if you write Python, want to share interactive analysis and are happy to build your own app, running it locally or deploying it yourself. Pick something else if you are a non-programmer, need a non-Python stack, or want a hosted multi-user app without a paid product.

Install options & downloads