---
title: "Dot Viewer"
description: "Native macOS app for editing Graphviz .dot and .gv files with a split-pane editor and live SVG preview."
canonical_url: "https://2389.ai/products/dot-viewer/"
last_updated: "2026-03-23T11:34:48-05:00"
doc_version: "1.0"
date: 2026-03-11
product_type: "Tool"
status: "Beta"
tags: ["macos", "graphviz", "dot", "swiftui", "rust", "editor", "visualization", "pipeline"]
---

# Dot Viewer

> Native macOS app for editing Graphviz .dot and .gv files with a split-pane editor and live SVG preview.


Dot Viewer is a macOS app for working with Graphviz `.dot` and `.gv` files. You get a split-pane interface — editor on the left, rendered SVG on the right — with changes reflected in real time as you type.

## Install

Download the latest DMG from the [Releases page](https://github.com/2389-research/dot-viewer/releases). Drag to Applications and launch. The app is code signed and notarized with Developer ID.

Requires macOS 14.0 or later. Auto-updates via Sparkle.

To build from source:

```bash
git clone https://github.com/2389-research/dot-viewer.git
cd dot-viewer
brew install xcodegen bison flex
cd dot-core && git clone --depth 1 --branch 12.2.1 https://gitlab.com/graphviz/graphviz.git graphviz-vendor && cd ..
make
```

## What it does

**Live preview.** Edits render to SVG with a 300ms debounce. Pick from six Graphviz layout engines — dot, neato, fdp, circo, twopi, sfdp — via the toolbar.

**Bidirectional navigation.** Click a node in the SVG preview to jump to its definition in the editor. Click a node definition in the editor to highlight it in the preview.

**Editor features.** Syntax highlighting for DOT keywords, strings, comments, attributes, and arrow operators. Bracket matching, line numbers with current-line highlighting, and standard undo/redo.

**Tabbed editing.** Open multiple `.dot`/`.gv` files as native macOS window tabs. Zoom and pan large graphs in the preview pane.

**Error display.** An inline error bar shows Graphviz rendering errors as you type, so you catch syntax problems immediately.

## How it works

Three layers:

1. **dot-core** (Rust) — Wraps Graphviz's cgraph and gvc libraries via C FFI. Exposes a clean API through Mozilla's UniFFI, which auto-generates Swift bindings from the compiled Rust static library.
2. **UniFFI bridge** — Translates between Rust types and Swift types at the boundary.
3. **DotViewer** (SwiftUI) — The app itself: split-pane editor, SVG preview, file handling, tabbed windows.

Graphviz 12.2.1 is compiled from source and linked statically — no system Graphviz installation required.

## Requirements

- macOS 14.0+
- For building from source: Xcode 16+, Rust toolchain (`rustup`), Homebrew


## Sitemap

Parent: [Products](https://2389.ai/products/index.md)

Related pages in this section:

- [Skills Marketplace](https://2389.ai/products/skills-marketplace/index.md)
- [Mammoth](https://2389.ai/products/mammoth/index.md)
- [BotBoard](https://2389.ai/products/botboard/index.md)
- [Smasher](https://2389.ai/products/smasher/index.md)
- [Jeff](https://2389.ai/products/jeff/index.md)
- [Mux](https://2389.ai/products/mux/index.md)
- [ISH](https://2389.ai/products/ish/index.md)
- [Coven](https://2389.ai/products/coven/index.md)
- [Soloclaw](https://2389.ai/products/soloclaw/index.md)
- [ccvault](https://2389.ai/products/ccvault/index.md)


Site index: [llms.txt](https://2389.ai/llms.txt) · [sitemap.md](https://2389.ai/sitemap.md) · [HTML](https://2389.ai/products/dot-viewer/)
