Public beta · Apache-2.0 · TypeScript

.vsdx viewing,
made embeddable.

Bring Visio diagrams into your web app. Explore pages, inspect shapes, and make supported plain-text edits with one shared viewer.

ReactVue 3AngularSvelteSolidVanilla JS
Run locally npm run devSetup →

Public beta. No document uploads.
Full Microsoft Visio parity remains a target.

Sample workflow · live in the browserTry it →
Actual Visio beta workspace showing the original sample, page navigation, ribbon and shape inspector.
Explore the viewer

One SVG rendererSame component, every framework

Local by designYour documents stay in your browser

Visible limitationsCode, evidence, and gaps tracked together

Try it here

Your diagram. Your browser.

The real beta viewer, embedded live, using the same component as the full workspace. Open a local .vsdx, switch pages, zoom, and inspect supported shapes. Files stay on your device.

Beta · Shared web component Open full playground ↗ Also in React · Vue · Angular · Svelte · Solid

Load the viewer to explore the original sample or open your own drawing.

Built around your application

One viewer.
A consistent foundation.

The same document model, rendering path, and interactions wherever you embed it.

Explore compatibility
01 / INTEGRATE

Six native bindings.

React, Vue, Angular, Svelte, Solid, or vanilla JavaScript. Thin lifecycle adapters keep format logic in one place.

See the code →
02 / EXPLORE

A diagram in focus.

Switch pages, fit and zoom, select shapes, search visible text, and adjust supported layer visibility.

Open the playground →
03 / KEEP LOCAL

Your browser. Your files.

Open a local .vsdx file and export the current page as SVG. No document uploads, telemetry, or remote document loading.

Explore exports →
04 / EDIT CAREFULLY

Small, explicit changes.

Experimental source-backed plain-text replacement, bounded undo/redo, and original or edited VSDX copies.

Read editing limits →

Early implementationGeneral drawing, full ShapeSheet recalculation, legacy .vsd, and native Visio reopen fidelity are not established by this preview. Check the capability ledger.

A familiar place to start

Your framework.
The same viewer.

Use the shared vanilla mount or a native framework component. Each adapter forwards the same properties, events, and imperative handle.

Install one viewer package for your framework. Each includes the shared viewer, its adapter, workers and document API.

Read the integration guide →
main.ts
import { mountViewer } from 'visio-vanilla-viewer';

const viewer = mountViewer(host, {
  events: { 'document-error': console.error },
});

await viewer.load(file); // A local File or bytes
viewer.fit();

// When your view unmounts:
viewer.destroy();

Give the host a height. Mount on the client. Native components manage their own cleanup. Runtime coverage is documented separately from browser and visual fidelity.

Before you begin

A few honest
answers.

A useful preview, with the boundaries in plain sight.

Is this a complete replacement for Visio?

No. This is an early implementation. Supported cached geometry, text, and images are rendered through one SVG path. Complex documents still have gaps; the capability ledger separates implementation, evidence, and missing work.

Does opening a file upload it?

No. The viewer reads the File you select in your browser. There are no document uploads, telemetry, or remote-document fetches. The site serves its own assets and the original sample locally.

Can I edit and save a .vsdx file?

Experimental plain-text editing is available for supported, source-backed shapes, with bounded undo/redo and explicit VSDX-copy downloads. Master-linked text, rich text, fields, signed packages, and macro content are rejected. The source file is never overwritten. Native Visio reopening remains unverified.

What can I export or print?

The UI exports current-page SVG and original or edited VSDX copies. The API can prepare immutable page snapshots for a future print workflow; it does not open a print dialog. PDF, bitmap export, and native printer layout are not implemented.

Does the sample prove visual fidelity?

No. This original, programmatically created sample demonstrates interactions. Generated fixtures do not establish Microsoft Visio visual parity. Compare important drawings with their native Visio rendering.

Start with a diagram

Your next integration,
in plain view.

Public beta. Compatibility is a work in progress.

Search documentation

Type to find a topic.