Data Formulator is a Microsoft Research project that combines UI interactions with natural language to help analysts explore data and build visualizations. It's built for data analysts, researchers, and developers who want to go from raw data (CSV, screenshots, databases) to charts and insights without writing custom plotting code for every question.
Instead of a single chat thread, Data Formulator organizes exploration into a Data Thread: a branching history of questions, charts, and explanations. You can refine a result, branch from any earlier step to try an alternative angle, or hand off the next step to an AI agent. The charts themselves are rendered through Flint, an open-source visualization language that compiles compact chart specs into polished output.
Data Formulator fits exploratory data analysis where questions change as you learn more: ad hoc business analytics, research data exploration, or building a chart-heavy report from messy source files. It's useful when you want to start from a screenshot or raw text and get to a structured chart without manually wrangling data first. Teams already using databases or data platforms benefit from the built-in connectors and automatic join handling.
It's not the right tool if you need a production dashboarding system with fine-grained access control, or if your workflow requires pixel-perfect custom chart code outside what Flint's chart engine supports. It also assumes access to an LLM provider (OpenAI, Azure, Ollama, or Anthropic), so it's not useful in fully offline, model-free environments unless you've set up a local Ollama model.
The fastest way to try it is the hosted demo at data-formulator.ai, but it also runs locally in several ways.
Via uv (recommended):
uvx data_formulator
Run uvx data_formulator --help to see options like custom port, sandboxing mode, and data storage location.
Via pip:
pip install data_formulator
python -m data_formulator
This opens the app in your browser at http://localhost:5567.
Via Docker:
docker compose up --build
Open http://localhost:5567 in your browser. Stop with Ctrl+C or docker compose down.
Desktop builds: CI produces self-contained Windows and macOS apps, available as workflow artifacts (retained 30 days) or attached to tagged GitHub Releases. These are preview builds, not code-signed or notarized, so only run them if you downloaded directly from this repository.
For development: see DEVELOPMENT.md in the repo for building and modifying your own version.
After installation, you'll need to configure an LLM provider (OpenAI, Azure, Ollama, or Anthropic) since the agent features depend on a connected model.