There's a particular kind of frustration that comes from spending half a day configuring a business intelligence platform just to drop a bar chart into a team update. Anyone who's wrestled with Tableau permissions or debugged a React component library for the sake of three pie slices knows the feeling.
MDV emerged from that exact frustration. The open-source project—a Markdown superset that renders data visualizations without JavaScript runtimes or build pipelines—launched on Hacker News on April 19, 2026 with a pitch that bordered on provocative in its modesty. Creator Asim Imdad Wagan described it as a tool "for documents, dashboards, and slides with embedded data and visualizations." What he didn't say mattered as much as what he did: no databases, no interactivity, no component models. Just CSV files, SVG charts, and static HTML.
The premise sounds almost quaint in an era when every data tool promises real-time dashboards and drag-and-drop interfaces. But for certain kinds of work—internal reporting, status updates, documentation that won't break when a CDN goes down—MDV's deliberate limitations might be the point.
Constraints as Features
MDV files use a .mdv extension and extend standard CommonMark Markdown in exactly four ways. YAML front-matter handles metadata, themes, and dataset declarations. Fenced code blocks define charts, tables, and KPI stat cards. Triple-colon containers manage named styles and column layouts. And an auto-generated table of contents appears with a simple :::toc directive.
That's it.
The chart library in the initial v1 pre-release includes bar, line, and pie visualizations—plus tables and stat blocks for dashboard-style metric cards. Data comes from CSV or JSON, either embedded inline or referenced via relative file paths. External URLs? Database connectors? Explicitly out of scope, according to the project documentation.
Run mdv render and the command-line tool generates a single HTML file with SVG graphics and inlined CSS. No external network requests, no client-side JavaScript. PDF export works through headless Chromium, which downloads roughly 180 MB on first use—a one-time tax for offline-capable reports. A mdv preview command launches a local server with live reload during authoring.
The VS Code extension, released as v0.1.1 on April 18, 2026, adds split-pane preview with a 200-millisecond debounce and basic syntax highlighting. It ships as a .vsix file; the repository documents steps for Marketplace publishing, though whether it's publicly listed remains unclear from the initial launch materials.
What MDV Isn't

Wagan's design choices become clearer when you consider what he left out. No executable code blocks. No JSX components. No SQL queries, no interactive filters, no per-chart CSS overrides. You choose from three themes—minimal, report, or slide—and the theme's palette dictates chart colors. Period.
This sets MDV distinctly apart from tools like Evidence, which runs SQL directly in Markdown documents, or Quarto, which executes R and Python code inline. It's not trying to compete with Observable Framework's JavaScript-powered interactivity, nor does it mimic MDX or Markdoc, both of which treat Markdown as scaffolding around React-like components and demand full build toolchains.
The README describes the goal as keeping things "extremely simple," prioritizing non-technical authors and predictable output over expressive power. Error handling reflects that philosophy: reference a missing data file or use an unknown chart type, and MDV renders an inline error banner rather than failing the entire build. A small mercy, perhaps, but one that suggests the tool understands its audience.
Somewhere Between Markdown and Metabase

MDV occupies an odd middle ground. Compared to full-stack BI platforms—Apache Superset, Metabase, Looker—it offers none of the connectors, real-time queries, or drill-down filters that make those tools powerful. But it also requires no server infrastructure, no database credentials, no standing infrastructure at all. The outputs are portable HTML files that work offline. You can email them, archive them in Confluence, or print them to PDF without worrying whether the visualization service will still be running in two years.
The slide theme hints at presentation use cases, though MDV generates static SVG charts rather than animated transitions. Tools like Marp and reveal.js already handle Markdown-to-slides with client-side interactivity; MDV trades that dynamism for simplicity and offline delivery. Whether that's a worthwhile tradeoff depends entirely on your workflow.
The repository includes ten example files—among them 09-full-report.html and 10-new-features.pdf—that demonstrate what the rendered output looks like. During the Hacker News discussion, community members mirrored the HTML files to third-party hosts without official endorsement for easier inspection.
Early Days

The Show HN post attracted modest attention—just over 100 upvotes and roughly 40 comments in the first hours after launch. GitHub star counts fluctuated in that characteristic early-project volatility, settling somewhere in the low hundreds. Community feedback centered on requests for linting, validation tools, and better ergonomics around table formatting and container syntax.
No major tech publications picked up the story in the immediate launch window. Discovery stayed confined to Hacker News, a few Reddit crossposts, and link aggregators like daily.dev. That's typical for niche developer tools, even well-executed ones.
Getting In
MDV requires Node 20 or higher and npm 10 or above. The repository carries an MIT license and consists of three packages: @mdv/core for parsing and rendering, @mdv/cli for the command-line tool, and mdv-vscode for the editor extension. The codebase is roughly 93% TypeScript and lives at github.com/drasimwagan/mdv.
The v1 pre-release label signals that features could still shift, though Wagan's documented non-goals—no databases, no component models—suggest he's not planning to expand the scope dramatically. What you get instead is a deliberately constrained surface area: CSV and JSON, a handful of chart primitives, and single-file outputs that work offline.
For certain teams, that constraint might feel less like a limitation and more like clarity. Quick, reproducible reporting without maintaining a data stack. Status dashboards that don't break when someone forgets to renew the Heroku dyno. Meeting decks that render the same way six months later.
Not every tool needs to do everything. Sometimes the most useful ones know exactly what they won't do.
