πͺ Explore data with visualizations, powered by AI agents.
Your data lives everywhere β databases, warehouses, BI tools, files. Coding agents can help, but only after someone wires them up, and answers come back as walls of code or text that are hard to follow, refine, or share.
Data Formulator makes it simple: connect any data, ask anything, get charts you can edit, branch, and share β all on one interactive, visual canvas.
- Data & platform teams: wire up your databases, warehouses, and BI sources once, and give the whole org an AI-powered data exploration layer.
- Analysts & users: ask, edit, branch, share. It's so easy to get insights from good-looking charts.
Data.Formulator-0.7-1080p.mp4
Tip
Love the charts? They're built on Flint β our open-source visualization language that compiles compact, semantic chart specs into polished Vega-Lite, ECharts, and Chart.js. Explore the project site or drop it into your own app.
[07-13-2026] Data Formulator 0.8 alpha 1 β a preview of a more connected, agent-driven data workflow:
- Smarter agent handoffs. Analysis can delegate directly to data loading while preserving the conversation and request context.
- A redesigned connector experience. Progressive setup, explicit authentication paths, database discovery, clearer scope controls, and improved credential handling make data sources easier to configure safely.
- Better loading plans. Recommended selections, compact previews, readable filters, provenance, and more reliable history and scrolling improve review before import.
- Stronger enterprise foundations. Unified connector metadata, session-scoped knowledge and distillation improvements, model routing, and additional isolation guardrails prepare Data Formulator for larger deployments.
Preview with
pip install --pre data_formulator==0.8.0a1oruvx --from data_formulator==0.8.0a1 data_formulator.
Install the latest stable release (0.7) with
pip install data_formulatoror run instantly withuvx data_formulator.
Here are milestones that lead to the current design:
- v0.7 (05-28-2026): Turn ANY data into insights in five steps β connect governed data sources, load via agents, explore with the unified
DataAgent+ Data Thread, refine 30+ chart types (semantic chart engine powered by Flint) with a style-refinement agent, and share as reports. Plus persistent sessions & workspaces and a multilingual (English/Chinese) UI. - v0.7 alpha 2 (05-11-2026): Early preview of data connectors, the unified
DataAgentwith thread memory, persistent workspaces, the semantic chart engine, and experimental knowledge distillation. - v0.6 (Demo): Real-time insights from live data β connect to URLs and databases with automatic refresh
- uv support: Faster installation with uv β
uvx data_formulatororuv pip install data_formulator - v0.5.1 (Demo): Community data loaders, US Map & Pie Chart, editable reports, snappier UI
- v0.5: Vibe with your data, in control β agent mode, data extraction, reports
- v0.2.2 (Demo): Goal-driven exploration with agent recommendations and performance improvements
- v0.2.1.3/4 (Readme | Demo): External data loaders (MySQL, PostgreSQL, MSSQL, Azure Data Explorer, S3, Azure Blob)
- v0.2 (Demos): Large data support with DuckDB integration
- v0.1.7 (Demos): Dataset anchoring for cleaner workflows
- v0.1.6 (Demo): Multi-table support with automatic joins
- Model Support: OpenAI, Azure, Ollama, Anthropic via LiteLLM (feedback)
- Python Package: Easy local installation (try it)
- Visualization Challenges: Test your skills (challenges)
- Data Extraction: Parse data from images and text (demo)
- Initial Release: Blog | Video
Data Formulator is a Microsoft Research project for data exploration with visualizations powered by AI agents. It combines UI interactions with natural language so analysts can communicate intent, branch into alternative analyses, and share results β starting from any data format (screenshot, text, CSV, or database).
Play with Data Formulator with one of the following options.
-
Option 1: Install via uv (recommended)
uv is an extremely fast Python package manager. If you have uv installed, you can run Data Formulator directly without any setup:
uvx data_formulator
Run
uvx data_formulator --helpto see all available options, such as custom port, sandboxing mode, and data storage location. -
Option 2: Install via pip
Use pip for installation (recommend: install it in a virtual environment).
pip install data_formulator # install python -m data_formulator # run
Data Formulator will be automatically opened in the browser at http://localhost:5567.
-
Option 3: Run with Docker
docker compose up --build
Open http://localhost:5567 in your browser. To stop, press
Ctrl+Cor rundocker compose down. -
Option 4: Codespaces
You can run Data Formulator in Codespaces; we have everything pre-configured. For more details, see CODESPACES.md.
-
Option 5: Working as developer
You can build Data Formulator locally and develop your own version. Check out details in DEVELOPMENT.md.
Besides uploading csv, tsv or xlsx files that contain structured data, you can ask Data Formulator to extract data from screenshots, text blocks or websites, or load data from databases use connectors. Then you are ready to explore. Ask visualizaiton questions, edit charts, or delegate some exploration tasks to agents. Then, create reports to share your insights.
data-formulator-tutorial.mp4
This project welcomes contributions and suggestions. Most contributions require you to agree to a Contributor License Agreement (CLA) declaring that you have the right to, and actually do, grant us the rights to use your contribution. For details, visit https://cla.microsoft.com.
When you submit a pull request, a CLA-bot will automatically determine whether you need to provide a CLA and decorate the PR appropriately (e.g., label, comment). Simply follow the instructions provided by the bot. You will only need to do this once across all repositories using our CLA.
This project has adopted the Microsoft Open Source Code of Conduct. For more information see the Code of Conduct FAQ or contact opencode@microsoft.com with any additional questions or comments.
This project may contain trademarks or logos for projects, products, or services. Authorized use of Microsoft trademarks or logos is subject to and must follow Microsoft's Trademark & Brand Guidelines. Use of Microsoft trademarks or logos in modified versions of this project must not cause confusion or imply Microsoft sponsorship. Any use of third-party trademarks or logos are subject to those third-party's policies.