# Zettelblock > Zettelblock is a Markdown viewer and editor for Windows, macOS and Linux. You open a single Markdown file, with no project and no account. It also opens text, log, JSON, YAML, TOML, INI, XML, CSV and TSV files. An AI agent such as Claude Code, Codex or OpenCode controls Zettelblock through the zblock command line: it opens files in tabs, reads and changes the text, selects, scrolls, and changes the theme, the column width and the window. The user and the agent can work in the same file together. The agent can also take over the window to show its changes, or the user works alone. An optional MCP server, zblock mcp, serves chat apps without a terminal. Zettelblock is free and open source under the MIT License. Key facts: - Platforms: Windows, macOS and Linux. A Tauri v2 shell with a CodeMirror 6 editor in the system web view. - Live Markdown formatting: the text is styled, and the markdown syntax appears only where the cursor is. Supports headings, lists, tables, code blocks, math (KaTeX), callouts, wikilinks, and front matter. - Browser-style tabs. Saves automatically 300 ms after typing stops. Changes from other programs (for example an agent that edits the file on disk) show at once, and the cursor and scroll position stay in place. - File types: Markdown (`.md` and similar endings, live preview), plain text and logs (`.txt`, `.log`), JSON, YAML, TOML, INI and XML (`.json`, `.yaml`, `.toml`, `.ini`, `.xml`) with syntax colors, and CSV or TSV (`.csv`, `.tsv`) as a table. The tab menu item "View as" changes the view. `zblock mode` does the same. Not a code editor. - Four themes (`blatt`, `papier`, `moos`, `tinte`), each in light and dark. - Private: no telemetry and no account. Files stay on the computer. Zettelblock goes online only to load web images that a document contains, and for updates as the user allows. - Updates: on the first start the user chooses manual, notify or automatic updates. Zettelblock contacts no update server before that choice or a manual check. Windows and macOS update in place, and .deb and .rpm users install the new package. - Agent setup: run `zblock connect` once, or turn it on in Settings → Agents. It installs a skill for Claude Code, Codex or OpenCode. The installer changes nothing in the agent's settings. - You decide what agents may do: turn off any agent action in Settings → Agent permissions. While a file is open, Undo agent change takes back changes from agents and other programs and keeps your own edits. The History of each tab keeps the last 20 rounds of outside changes, in memory only, until you close the tab or Zettelblock. - The command line uses a local connection that only programs on the same computer can reach. If Zettelblock is not running, `zblock` starts it. - Optional, for chat apps without a terminal: the MCP server `zblock mcp`, with the tools `open_files`, `new_tab`, `list_tabs`, `focus_tab`, `close_tab`, `save`, `read_document`, `replace_text`, `insert_text`, `set_text`, `get_selection`, `set_selection`, `scroll_to`, `get_outline`, `set_theme`, `set_content_width`, `get_settings`, `update_settings`, `rename_file`, `set_view_mode`, `window`. - Command line, one command for every MCP tool: `zblock open`, `zblock new`, `zblock tabs`, `zblock focus`, `zblock close`, `zblock rename`, `zblock save`, `zblock read`, `zblock outline`, `zblock replace`, `zblock insert`, `zblock set-text`, `zblock selection`, `zblock select`, `zblock scroll`, `zblock mode`, `zblock theme`, `zblock width`, `zblock zoom`, `zblock settings`, `zblock set`, `zblock window`, `zblock connect --claude|--codex|--opencode|--all`. Every command takes `--json`. Text for `replace`, `insert` and `set-text` comes from a file or stdin, never from an argument. - No promise of maintenance. A personal project by Tristan Ripke, Hamburg, Germany. ## Pages - [Home](https://zettelblock.app/): what Zettelblock is, a live in-browser demo, the agent features, and the download. - [Support](https://zettelblock.app/support/): a digital thank-you note (a PDF), sold through Link (Link, LLC), Stripe's merchant of record service. Buying it is voluntary. It adds no features, rights or support. Zettelblock is free and open source. - [Changelog](https://zettelblock.app/changelog/): what changed in each released version, newest first. - [Startseite (Deutsch)](https://zettelblock.app/de/): the home page in German. ## Download and license - [Download](https://zettelblock.app/#download): builds for Windows (installer), macOS (.dmg) and Linux (.deb, .rpm), always the newest release. - Direct files: [Windows installer](https://download.zettelblock.app/Zettelblock-Setup-x64.exe), [macOS disk image](https://download.zettelblock.app/Zettelblock-universal.dmg), [.deb package](https://download.zettelblock.app/zettelblock_amd64.deb), [.rpm package](https://download.zettelblock.app/zettelblock-x86_64.rpm), [SHA-256 checksums](https://download.zettelblock.app/SHA256SUMS.txt). - [License text](https://zettelblock.app/license/LICENSE.txt): the MIT License. - [Third-party notices](https://zettelblock.app/license/THIRD_PARTY_NOTICES.txt): the parts of other authors in Zettelblock and their licenses. ## Optional - [Legal notice](https://zettelblock.app/imprint/): the legal notice (Impressum) that German law requires. - [Privacy](https://zettelblock.app/privacy/): privacy policy. No cookies. Visit statistics only with consent.