JDF Reader — desktop app
A native Tauri-based macOS app that reads, renders, edits, and auto-saves .jdf files. Imports PDFs and Markdown to JDF on the fly. Exports back to PDF.
Install
brew tap uurtech/jdf
brew install jdf
Installs JDF Reader.app into /Applications. Updates: brew upgrade --cask jdf.
Open documents
- Drag & drop — drop a
.jdf,.pdf, or.mdfile onto the welcome screen. - Finder double-click — file associations are registered for
.jdfand.md. - Cmd+O — file picker.
- Recent files — last 10 documents listed on the welcome screen.
Edit a paragraph
Double-click any element. The whole paragraph (or heading, list item, table cell, collapsible title, image src/alt) becomes an inline editor. Type. Press Enter or click anywhere else — the change saves to disk in ~150 ms.
Restructure on hover
Hover any element. A floating toolbar appears in the top-right corner with ↑ Move up · ↓ Move down · ⧉ Duplicate · × Delete. No right-click, no menu hunting.
Insert new elements
The Insert bar at the top of every page lets you append a Text / Rich text / List / Table / Shape / Image / Section / TOC element with a single click.
Pages
The sidebar shows a colored mini-preview of every page. Click + for a new page. Hover any thumbnail and click the red × to delete it.
Memory model
- A
.jdfopens in memory and auto-saves to its source file on every commit. - A
.pdfor.mdis converted to JDF in memory only — the original file is never touched. The toolbar shows● Unsaved (in memory)while you edit. Closing the window prompts to save as.jdfor discard. - Switch to the JSON view in the toolbar — two-way bound. Edit JSON, blur or Cmd+S, the rendered view follows. Edit visually, the JSON updates as you go.
PDF import
Drag a .pdf onto the viewer and you get an editable JDF copy that looks identical to the original. Per text run the importer extracts: position (mm), font family, size, bold/italic, color, opacity, links. Vector shapes (rect, line, path) preserved with their fills and strokes. Embedded images decoded into resources.images as base64 PNG and placed at their original transform.
PDF export
Cmd+Shift+E or the toolbar PDF button. Honors page size, orientation, text colors, real TOC, embedded images. Renders text/richtext/list/table/collapsible/shape.
Undo / redo
Cmd+Z / Cmd+Shift+Z. 100-step history covering every text edit, structural change, and JSON commit.
Multiple windows
Cmd+N or the toolbar "New" button. Compare two documents side-by-side.
Keyboard shortcuts
| Shortcut | Action |
|---|---|
| Cmd+O | Open file |
| Cmd+W | Close document |
| Cmd+N | New window |
| Cmd+S | Save As .jdf |
| Cmd+Shift+E | Export PDF |
| Cmd+Z / Cmd+Shift+Z | Undo / redo |
| Cmd+F | Search |
| Cmd+B | Toggle sidebar |
| Cmd+D | Toggle dark mode |
| Cmd+P | |
| Cmd+= / Cmd+- / Cmd+0 | Zoom in / out / reset |
| ← → | Previous / next page |
| Double-click | Edit element |
| Enter / Esc / Cmd+Enter | Commit / cancel / multi-line commit |
| ? | Show shortcut overlay |
Linux and Windows
Builds (.deb, .AppImage, .rpm, .msi, .exe) are produced by GitHub Actions on every tag — see the latest release.