Skip to content

A Markdown workspace for notes you actually own.

Cortex is local-first, open source, and built on plain Markdown files, with optional sync that keeps readable notes on your devices.

Cortex workspace. Cortex desktop workspace with a custom dark theme applied.
Cortex desktop workspace showing a custom dark theme over Markdown notes.

Write, find, and arrange without losing the thread.

Cortex keeps the daily loop tight: edit in Markdown, jump between notes, split context, and stay close to the keyboard.

  1. 1

    Open any Markdown folder

    No import ceremony. Cortex reads the folder you already trust.

  2. 2

    Write in Live Preview

    Markdown stays editable while structure, links, and callouts stay readable.

  3. 3

    Search and split

    Jump to a note, open a split, and keep context visible while you write.

  4. 4

    Reveal the plain file

    The last step still points back to a normal Markdown file on disk.

Writing workflow. Cortex editing workspace with Markdown notes, splits, and search context.
Cortex writing workspace showing Markdown notes, split panes, and search context.

Structure that adapts to how you already think.

Choose folders when the hierarchy is obvious, tags when relationships matter, and bookmarks when a note needs to stay one gesture away.

Organization workflow. Cortex organization workspace with folders, tags, bookmarks, and note properties.
Cortex organization workspace showing folders, tags, bookmarks, and note properties.

Sync is optional, encrypted, and yours to host.

Move across devices while keeping plaintext out of the service. Use hosted sync when it fits, or run the server yourself.

Sync architecture. Cortex sync keeps readable notes local while the service stores encrypted blobs.
Cortex Sync technical illustration showing Markdown files, encrypted blobs, and connected devices.

Convenience without handing the service readable notes.

Sync is a product story about ownership: client-side encryption, encrypted blob storage, history, and a self-hostable path.

  • Encrypted before upload

    Notes are encrypted on your device before Cortex Sync stores encrypted blobs.

  • Inspectable history

    Version history and conflict recovery make changes understandable across devices.

  • Self-hostable path

    Use the hosted service when it fits, or run the open-source sync server yourself.

  • Plain files stay local

    Readable Markdown remains on your devices; the service handles encrypted blob storage.

Local filesSource of truth

~/notes

Works offlineNo account required

offline

Plain MarkdownReadable anywhere

.md

Open sourceInspectable by design

open source

Client-side encrypted syncOptional encrypted blobs

encrypted blob

Optional sync stores encrypted blobs; the readable Markdown stays on your devices.

Extend the workspace without making your notes less portable.

Plugins can extend the parts of Cortex people actually use every day: editing, commands, sidebars, status, settings, and small workflow shortcuts. The notes stay plain Markdown underneath.

Shape the daily workflow

Add commands, editor behavior, sidebar views, and status details around the vault without changing how notes are stored.

Reviewed before listing

Marketplace plugins are open source and reviewed by the Cortex team before they are listed for the community.

View source
Example plugin source showing Markdown transforms, commands, and sidebar views.
import { CortexPlugin } from "cortex-plugin-api"import { GITHUB_EMOJI_MAP } from "./emojiMap"export default class GitHubEmojiPlugin extends CortexPlugin {  onload() {    this.registerMarkdownInline({      id: "github-emoji",      pattern: ":([a-z0-9_+-]+):",      replacement: (match) => GITHUB_EMOJI_MAP[match[1]] ?? match[0],    })    this.addCommand({      id: "insert-emoji",      label: "Insert Emoji",      execute: () => this.api.editor.insertAtCursor(":sparkles: "),    })    this.registerView({      id: "emoji-browser",      label: "Emoji Browser",      location: "sidebar-left",    })  }}
Community theme preview. A community dark theme applied to Cortex with custom sidebar, accent, note, and property styling.
Cortex workspace showing a community dark theme with custom colors, side navigation, note properties, and Markdown content.

Change the surface without changing the notes.

Community themes can reshape Cortex through custom CSS packages while the vault stays plain Markdown. Bring a different mood to the app without making your files depend on it.

  • Theme packages live beside the vault

    Install a custom theme under .cortex/themes and let the package override documented CSS variables and selector hooks.

  • Light and dark are first-class

    A theme manifest can point Cortex to light.css and dark.css so the same personality works across both color schemes.

  • The model stays portable

    Themes can change color, density, radius, and chrome without changing Markdown storage or the commands people rely on.

Ship extension work from a local vault.

The CLI mirrors the real extension loop: create a project, run vault-scoped dev mode, build, validate, and prepare publish artifacts when the plugin or theme is ready.

# Start from the plugin template$cortex plugin create github-emojiPlugin 'github-emoji' created successfully$cd github-emoji && bun installdependencies installed

Before you make room for another tool.

Short answers for the product decisions people usually want to understand first.

Cortex Sync

Sync when you want it. The files stay yours.

Hosted Cortex Sync adds encrypted blob storage to the local-first Markdown workspace. It stays optional, and the vault stays readable on disk.

Download

macOS

.dmg

Open a local Markdown vault from the desktop build shaped for long writing sessions.

Apple SiliconIntel

Windows

.exe

Install Cortex on your main workspace machine and keep files readable on disk.

Windows 10+x64

Linux

.AppImage

Run Cortex from a portable desktop package while your vault stays plain Markdown.

x64Portable