Features & Supported File Types
befold is a macOS-only viewer for Mermaid, Markdown, SVG, HTML, CSV/TSV, images, PDF and source code. This page lists every feature, the full table of supported extensions, the keyboard shortcuts and answers to common questions.
Features
- Quick Open (βP)
- Fuzzy-search filenames to jump straight to a file. An empty query lists recents and bookmarks, and ./ or ../ path input works too
- Sidebar & Swipe
- Open the sidebar with βS to walk folders and filter by name. Move between files you have read with β[ / β] or a two-finger trackpad swipe
- Open from the CLI
- befold path/... opens several files at once. Display flags like --sidebar, --source and --line-numbers, plus --check to verify a file opens and --bookmark
- Live Reload
- Every change from an external editor or an AI lands in the preview instantly β including files recreated on save, renames and moves
- Git Diff View
- Read what your branch changes β committed work included β as a source diff. Switch rendered / source / diff with β1 / β2 / β3, flip the diff layout between stacked and side by side with β\. The view mode is remembered per file
- A Sidebar That Knows Your Changes
- Changed files carry a one-letter colored badge, and folders roll up the changes beneath them. Staged, unstaged, untracked and committed-on-branch are told apart, and ββG narrows the list to changed files only
- Large Files, Too
- Markdown, CSV/TSV and source code load in chunks, so files up to 100MB open without a wait. Pull in the rest with βLoad Moreβ
- QuickLook Support
- Ships a QuickLook extension. Select a file in Finder and hit space to see Mermaid or Markdown rendered β no need to open the app
- Git-Aware Link Resolution
- Only paths that really exist become links. When a relative path misses, befold finds the file among git-tracked ones β and keeps up when you switch worktrees or branches
- Recent Repositories
- Reopen a recently used repository from the File menu, tabs and all. Worktrees are grouped under their main repository
- Wide Format Support
- Renders .mmd, .md, .svg, .html, .csv, .tsv β plus displays .png, .jpg, .gif, .webp, .pdf, and source code in 50+ languages. Detects UTF-8/16/32, Shift_JIS and EUC-JP automatically
- Rendered / Source Toggle
- Switch between rendered and source view with βU. Source view has syntax highlighting and line numbers via βL. Find (βF) supports regex, case and whole-word matching
- Tabs & Session Restore
- Native macOS tabs. Your previous tab layout is restored on next launch, and zoom, view mode and scroll position are remembered per file
- Zoom & Dark Mode
- Zoom with β+/β-/β0. Follows macOS dark mode automatically, and the source-view font is configurable in Settings
- In-App Updates
- Notifies when a new version is available. One-click update
Supported File Types
| Type | Extensions | View | Max size |
|---|---|---|---|
| Mermaid | .mmd .mermaid Renders flowcharts, sequence diagrams, Gantt charts and more as diagrams. | Rendered / Source | 10MB |
| Markdown | .md .markdown Mermaid inside code blocks is rendered as a diagram too, in GitHub-like styling. | Rendered / Source | 100MB |
| SVG | .svg Shown as an image; switch to source view to read the XML. | Rendered / Source | 10MB |
| HTML | .html .htm Switch between the rendered result and the source. | Rendered / Source | 10MB |
| CSV / TSV | .csv .tsv Formatted as a table. Large files load in chunks. | Rendered / Source | 100MB |
| Image | .png .jpg .jpeg .gif .webp .bmp .ico Displayed with zoom support. There is no source view, since there is no text source. | Rendered only | 50MB |
| .pdf Pages are shown in a continuous scroll. | Rendered only | 50MB | |
| Source code | .bash .c .cc .cjs .cpp .cs .css .cxx .diff .go .gql .graphql .h .hpp .ini .java .js .json .jsonc .jsx .kt .kts .less .lua .m .mjs .mk .mm .patch .php .pl .plist .pm .py .r .rb .rs .scss .sh .sql .swift .toml .ts .tsx .vb .xml .yaml .yml .zsh Shown with syntax highlighting and line numbers (βL). Loads in chunks. | Source only | 100MB |
Any other extension opens as plain text. Character encodings UTF-8/16/32, Shift_JIS and EUC-JP are detected automatically.
Keyboard Shortcuts
| βO | Open a file or folder |
|---|---|
| βP | Quick Open (fuzzy filename search) |
| βS | Show or hide the sidebar |
| β[ / β] | Go to the previously / next viewed file |
| βU | Toggle between rendered and source view |
| β1 / β2 / β3 | Switch the display mode (rendered / source / diff) |
| β\ | Toggle the diff layout between stacked and side by side |
| βL | Toggle line numbers in source view |
| βD | Add or remove a bookmark |
| βF / βG | Find in page / find next |
| β0 / β+ / β- | Actual size / zoom in / zoom out |
| ββH | Show hidden files |
| ββG | Show changed files only |
| ββT | Toggle the sidebar tree view |
| ββF | Enter full screen |
| βW | Close the window |
Frequently Asked Questions
Is there a Windows or Linux version?
No. befold is a macOS-only app and requires macOS 14 (Sonoma) or later.
Does befold cost anything?
No. befold is free and open source under the MIT license, and the source is published on GitHub.
Can I edit files in befold?
No. befold is a read-only viewer. You edit in your usual editor, and befold watches the file and reflects each change immediately.
How large a file can befold open?
Markdown, CSV/TSV and source code load in chunks, so they open up to 100MB. Mermaid, SVG and HTML are built in one pass and are limited to 10MB; images and PDFs to 50MB.
What happens with an extension that is not in the table?
It opens as plain text. The table lists the extensions befold recognises as a specific type β not the only files it can open.
Can I preview from Finder without opening the app?
Yes. befold ships a QuickLook extension, so selecting a file in Finder and pressing space shows Mermaid or Markdown already rendered.
Can I open files from the terminal?
Yes. Pass one or more paths to the bundled befold command to open them all at once, and use --sidebar, --source or --line-numbers to choose how they open.
Requirements
macOS 14 (Sonoma) or later
Download for Mac