File browser, tabbed editor with live preview, and full web browsing — all in one app. The native reader and editor for SurfDoc.
Welcome to the project. SurfDoc files are readable in any text editor.
Surf serves two audiences with the same binary.
The VS Code of SurfDoc. File browser, tabbed editor with live preview, find-in-page. Open a project folder and work.
Double-click a .surf file — it opens beautifully. HTML sites work too via embedded WebKit. The native reader for SurfDoc.
A structured document format for the AI-native web. Human-readable, machine-parseable, and semantically rich.
title: "My Portfolio"
type: website
author: "Jane Smith"
# Welcome
I build things that matter.
::callout[type=info]
This is a SurfDoc file. Open it
in Surf for the full
experience — or read it in any
text editor.
::
## Projects
::grid[cols=2]
### Project Alpha
A real-time dashboard for...
### Project Beta
An API gateway that handles...
::
Every SurfDoc is a text file. Edit it in any editor. Store it in git. Take it anywhere. No proprietary format, no vendor lock-in.
Headings, callouts, grids, embeds, code blocks, tables, and more. Structured enough for a compiler. Readable enough for a human.
A SurfDoc without a renderer degrades gracefully to standard markdown. Your content is never trapped.
AI can read and write SurfDoc natively. The structured format means generation is precise and validated — not best-effort HTML soup.
SurfDoc content renders via the native block-tree engine — no DOM, no JavaScript, no XSS. HTML content falls through to platform WebKit. Best of both worlds.
Open a folder. Browse your project. Tree view with lazy loading, folder expansion, and file type icons. Like VS Code's sidebar, but purpose-built for documents.
Cmd+E to toggle edit mode. Source on the left, live preview on the right. Edit and see changes instantly. Cmd+S to save. Dirty tracking with a visual indicator.
SurfDoc block types carry semantic meaning. A valid .surf file is accessible by construction — no WCAG audit, no ARIA retrofitting. Every document renders correctly for screen readers.
Toggle a terminal panel from the toolbar. Multi-session tabs, draggable resize, TrueColor support. Run builds, git, or any command without leaving the app.
Edit code with syntax highlighting for 30+ languages. Atom One themes for dark and light mode. Line numbers with auto-adjusting gutter. Built on Highlightr.
A .surf file is a SurfDoc — a plain-text structured document format. Think markdown with typed blocks (callouts, grids, tabs, code, metrics). You can open .surf files in any text editor, but Surf gives you a native reader with live preview.
Surf has two modes. For .surf files, it uses a native Rust rendering engine — no DOM, no JavaScript, no tracking. For regular websites, it uses the platform WebView (WebKit on macOS). You get safety for documents and compatibility for the web.
Yes. Surf is free to download and use. The macOS app is signed and notarized by Apple. No trial, no account required, no telemetry.
Not yet. Surf is available on macOS today, with a GTK4 build for Linux. Windows support is planned. You can also build from source.
Surf is built by CloudSurf Software. SurfDoc is an open format — the specification is public.
Free. Signed and notarized by Apple.
Coming soon
SwiftUI + WKWebView
Notify me