Features

Everything ForkLeaf does

A notebook of plain Markdown files in your own GitHub repository — and the linking, remembering, reading and publishing a real notebook needs. Every card says where to find it; almost all of it is one ⌘K away.

features
87features
areas
7areas
new this release
52new this release
databases holding your notes
0databases holding your notes

Writing

13

An editor for plain Markdown files that does not make you think about Markdown.

  • Three views of one file

    Rich text that formats as you type, a split view with live preview, or the raw source. Switching never rewrites the file.

    Rich / Split / Source in the header, or ⌘1 ⌘2 ⌘3

  • Press / for anything

    Headings, lists, to-dos, tables, code, images, YouTube videos, footnotes and diagrams — in every view.

    Type / at the start of a line

  • Paste images straight in

    Screenshots are committed to assets/ and linked by a relative path, so they still render on github.com.

    Paste or drop a picture into a note

  • Properties are real front matter

    Title, tags and anything else you add are YAML at the top of the file, readable by Obsidian, Jekyll and Hugo.

    The properties panel on the right

  • Templates

    New

    Any note in templates/ becomes a starting point, with {{title}}, {{date}} and {{weekday}} filled in.

    ⌘K → New note from template

  • A note for today

    New

    journal/YYYY-MM-DD.md, made from templates/daily.md when you have one — somewhere for the day's scraps.

    ⌘K → Open today's note

  • Focus mode

    New

    The file tree, tabs, panels and status bar step away, and come back exactly as they were.

    ⌘⇧F

  • Encrypted notes

    New

    Seal a note with a passphrase: its words, title and tags are unreadable on GitHub or anywhere else without it.

    ⌘K → Encrypt this note…

  • Encrypt for people

    New

    Seal a note — or a whole folder — for the people you choose, each opening it with their own key (P-256 ECDH, AES-256-GCM). A key that changes is caught before anything is sealed for it.

    ⌘K → Encrypt for people…

  • Voice notes

    New

    Record a thought, keep the audio beside the note and play it from there — with an optional transcript.

    ⌘K → Record a voice note

  • Lock a note

    Stop stray keystrokes from editing a note you read constantly, without stopping sync.

    The padlock in the header, or ⌘⇧L

  • Code blocks that run

    bash, Python and JavaScript blocks run in a throwaway virtual machine and write their output into the note.

    The Run button on a code block

    Needs a connected GitHub repository

  • Opens the .md files on your computer

    Install ForkLeaf and it becomes a Markdown editor for your operating system; ⌘S writes the file back.

    ⌘K → Open a file from this computer

Organising and remembering

33

Ways to see a notebook as more than a list of files.

  • Graph of your notes

    New

    Every note as a dot and every link as a line, starting near the note you are in.

    ⌘K → Show the graph of my notes

  • Every open to-do in one list

    New

    Unticked boxes from across the notebook, overdue first. Tick one there and it is ticked in its note.

    ⌘K → Show every open to-do

  • A folder as a board

    New

    Cards in columns by status. Drag one and the note's status property changes.

    ⌘K → Show this folder as a board

  • A folder as a table

    New

    Every note's properties as columns you can sort, filter and edit in place.

    ⌘K → Show this folder as a table

  • What I learned this month

    New

    A journal page built from the month's new notes, flashcard progress and decisions, which you can publish.

    ⌘K → What I learned this month

  • Notebook health badge

    New

    A README badge for your notes repository showing broken links, stale notes and your review streak.

    / → Notebook health badge

    Needs a connected GitHub repository

  • Decision notes

    New

    Options with pros and cons weighed and scored, and the chosen option kept with a dated history of the decision.

    / → Decision

  • Claim checker

    New

    While you write, underline sentences that nothing in your notes or saved sources backs, and see what backs the rest.

    ⌘K → Check claims in this note

  • Map this note

    New

    A canvas of the note and every note it links with, laid out automatically, right in the note.

    / → Map this note

  • Hands-free review

    New

    A note's cards read aloud and answered by voice, each graded on its schedule — for studying while walking.

    / → Flashcards: review by voice

  • Decks you can fork

    New

    Share a note's flashcards as a public GitHub repository; others copy it, keep their progress private, and pull in your updates.

    / → Flashcards: shared deck

    Needs a connected GitHub repository

  • A folder as a course

    New

    A folder's notes as lessons ordered by how they link, with progress, cards per lesson and a quiz at the end — in the note.

    / → Course from a folder

  • Spaced reading

    New

    Highlights from PDFs and quotes saved from the web come back a few a day, in the note, on the flashcard schedule.

    / → Spaced reading

  • Explain it back

    New

    Hide a note, write down — or say out loud — what you remember, and see it side by side with the original, every sentence marked by what you forgot.

    ⌘K → Explain it back

  • Flashcards

    New

    Type Question :: Answer and press Enter: it becomes a card in the note that you turn over and grade in place, or review them all at once, on a spaced-repetition schedule that syncs with the notebook.

    Type Question :: Answer, or / → Flashcard

  • Cards from what you wrote

    New

    Select text and press + Card to make it an answer, or Blank to hide those words in the sentence. The status bar says how many cards are due; one click starts studying.

    Select text → + Card or Blank · ⌘⇧Y to study

  • If I stop writing

    New

    A GitHub Action in your own repository: when nothing has been written for months, it publishes a folder you chose and tells someone you trust — after reminding you two weeks before. It never deletes anything.

    ⌘K → If I stop writing…

    Needs a connected GitHub repository

  • This note's family

    New

    The notes a note shares whole passages with — split from, pasted into, quoted — found from the text itself, beside its links in and out.

    ⌘K → This note's family

  • Why I changed my mind

    New

    When an edit reverses what a note said — Postgres became SQLite, should became should not — the header asks why, and the reason goes into the note under its own heading. The part version history cannot keep.

    Edit a note → Changed your mind? Say why

  • Echoes

    New

    A sentence you wrote yesterday, a week, a month and a year ago, from the notes named after those days — and one question: is it still true?

    Dashboard → Echoes

  • Fading from memory

    New

    Every note gets a forgetting curve from when you last opened it. The dashboard shows the notes you came back to before and are now losing, with Reread and Test myself.

    Dashboard → Fading from memory

  • What the AI has read

    New

    A receipt for every send from this browser to a model: when, which provider and model, which note and how much of it, and what was asked. Kept on this device; the note's text is never stored in it.

    ⌘K → See what the AI has read, or Receipts in the assistant

  • Scheduled notes

    New

    Give a template a schedule property — daily, weekdays, weekly, monthly or a day like friday — and its note is made the first time you open ForkLeaf in that period. Only ever for the current one.

    templates/ → add property schedule

  • Then and now

    New

    The note as it was a month, six months or a year ago, beside today's — words, paragraphs added and let go, and the diff. Read from the repository's own history.

    ⌘K → This note, then and now

    Needs a connected GitHub repository

  • Map of contents

    New

    Writes a list of every note linked with this one and every note sharing its tags into the note, as ordinary [[links]]. Run it again to refresh it.

    ⌘K → Write this note's map of contents

  • Present a note

    New

    The open note full screen, a slide per section — or per --- line if it has them — with diagrams and maths as they are in the note.

    ⌘K → Present this note

  • Maths

    New

    $E=mc^2$ inline and $$…$$ blocks, typeset with KaTeX in the preview. Prices stay prices: "$5 and $10" is not a formula.

    Type $…$ or $$…$$

  • Cards from diagrams

    New

    In a note tagged flashcards, every arrow in a flowchart or state diagram and every branch of a mind map becomes a card: what comes after this step?

    Tag the note flashcards

  • Weekly review

    New

    A note listing what you started, worked on and deleted this week, and what is overdue.

    ⌘K → Write this week's review

  • Dashboard

    Every note across every connected repository, indexed by title, tag and folder.

    ⌘⇧D

    Needs a connected GitHub repository

Saving from the web

5

Keep what you find elsewhere, with where it came from.

  • Save from anywhere

    New

    Share a page, a quote, a link or a picture into inbox/. ForkLeaf always shows what will be saved and asks first.

    Share → ForkLeaf on a phone, or the bookmarklet from ⌘K

  • Save to ForkLeaf extension

    New

    One click, or a right-click on a selection, link or image. No account and no host permissions.

    Alt+Shift+S, or right-click → Save to ForkLeaf — in Chrome, Edge, Brave, Arc or Firefox

    Step-by-step setup →
  • Everything you saved

    New

    The inbox as a grid — quotes as quotes, pictures as pictures — with filters and search.

    ⌘K → Show everything I saved

  • Sources that survive link rot

    A citation with the page's real title, when you read it, and an archived copy.

    ⌘K → Capture a web page as a source

    Needs a connected GitHub repository

  • Link hover cards

    See a link's title, description and picture before opening it — fetched so the site never sees you.

    Hover a link in a note

Reading papers

6

PDFs are part of the notebook, not attachments to it.

  • Read a PDF beside your note

    Its own table of contents, find that matches through hyphenation, and a pane you can resize.

    Click a .pdf in the sidebar, or drop one on the window

  • Quote into a note

    A citation that records the sentence, not the page, so it still finds the passage after the paper is revised.

    Select text in the document → Quote into note

  • Highlights as a text file

    Highlights live in a markdown file beside the PDF. The PDF itself is never touched.

    Select text → Highlight

  • Everything you wrote about a paper

    Every note quoting a document, with the passage it took and the page, in the paper's own order.

    The Notes tab beside the document

  • Paper and note on the same page

    Moving through the note turns the document to the page you are writing about, and back.

    Read beside a note in Split or Source view

  • Search inside your documents

    ⌘K finds words in every PDF you have opened, and opens it at the page.

    ⌘K and type a phrase

Diagrams

4

Mermaid, without having to remember Mermaid.

  • Draw instead of type

    Drag boxes and pull arrows for six diagram types; the Mermaid is written for you.

    Visual mode in the diagram editor

  • A box can be a note

    Put a [[wikilink]] in a label and the box opens that note.

    A["[[Deploy runbook]]"]

  • See a diagram change

    Two versions of a diagram compared as graphs, so a renamed box reads as a rename.

    Diagram changes in a pull request

    Needs a connected GitHub repository

History and checks

8

Git already keeps everything. These are ways to use that.

  • Every version of every note

    The commit log for a note, any old version readable, and a replay of how it was written.

    Properties panel → Version history

    Needs a connected GitHub repository

  • Where did this paragraph come from?

    When each paragraph last changed, what it said before, and — shaded by times rewritten — which parts you have never been sure of.

    ⌘K → See when each paragraph was written

    Needs a connected GitHub repository

  • The notebook on any date

    The files that existed that day, each readable as it stood. Read-only.

    ⌘K → Show me my notebook as it was on…

    Needs a connected GitHub repository

  • Bring back a deleted note

    New

    Notes that are gone now, read from the history and restored at the path they had.

    ⌘K → Bring back a deleted note

    Needs a connected GitHub repository

  • Try a rewrite

    Rewrite a note on a branch, compare it with the original, then keep it or throw it away.

    ⌘K → Try a rewrite of this note

    Needs a connected GitHub repository

  • Notes that say they have gone stale

    Links to files that have gone, links to no note, and claims nobody has checked in years.

    ⌘K → Check which of my notes have gone stale

  • Notebook check on every pull request

    New

    A GitHub Actions workflow that fails a pull request which leaves a note pointing at a missing file or a link to no note.

    Copy docs/workflows/notebook-check.yml into .github/workflows

    Needs a connected GitHub repository

  • Are my quotations still true?

    Every quotation checked against its document, with a one-press fix for a moved page.

    ⌘K → Check my citations against their documents

    Needs a connected GitHub repository

Sync, sharing and export

18

Your repository, your files, and nothing held hostage.

  • Local first, synced to GitHub

    Every keystroke is saved in the browser first. Changes are pushed as tidy commits and wait while you are offline.

    Automatic; ⌘S pushes now

  • Real conflict resolution

    Edit a note on two devices and ForkLeaf shows both versions instead of picking one.

    Appears when it happens

    Needs a connected GitHub repository

  • Publish a note, or a folder as a book

    Pages committed to your own repository and served by GitHub Pages, with links between notes intact.

    ⌘K → Publish this note as a page

    Needs a connected GitHub repository

  • Readers can suggest corrections

    Published pages carry Suggest an edit; read and accept suggestions without leaving ForkLeaf.

    ⌘K → See what other people have suggested

    Needs a connected GitHub repository

  • Review a note like code

    Propose changes to a repository you cannot push to, and review pull requests as rendered notes.

    ⌘K → Review this note as a pull request

    Needs a connected GitHub repository

  • Borrow a note

    Link to a note in someone else's notebook, pinned to the version you read — nothing is copied.

    ⌘K → Borrow a note from another notebook

    Needs a connected GitHub repository

  • An assistant beside the note

    New

    Claude, GPT, Gemini or a model on your own machine, in a column next to what you are writing — with the note as context, and every answer one button from being part of it. Your key, kept in this browser; nothing passes through ForkLeaf.

    ⌥⌘A, or the sparkle in the header

    Step-by-step setup →
  • Use your notebook from an AI assistant

    New

    An MCP server so Claude and other assistants can search, read and write your notes, talking to GitHub directly.

    All tools → Connect an AI assistant: paste one address, sign in

    Step-by-step setup →

    Needs a connected GitHub repository

  • Every feature in the / menu

    New

    Blocks and tools together — flashcards, to-dos, voice notes, graph, encryption, history — grouped and searchable, beside the line you are typing.

    Type / at the start of a line, then keep typing to search

  • Code that asks for input

    New

    Runnable Python, shell and JavaScript blocks can read input — ForkLeaf asks for the answers before the run.

    Run a block that uses input(), then fill in Program input

  • A repository for everything you save

    New

    Pages, quotes, links and pictures saved from the web are filed into a private forkleaf-saves repository by kind and month, with an index.

    Save with the extension, share sheet or bookmarklet

    Step-by-step setup →

    Needs a connected GitHub repository

  • Canvases

    New

    A board of cards, notes, links and groups joined by arrows, drawn in the note where you make it and saved as JSON Canvas so it opens in Obsidian too.

    / → Canvas, or click a .canvas file

    Step-by-step setup →
  • Ask your notebook

    New

    Ask a question and get the passages in your notes that answer it, quoted with the note and line. No AI, nothing leaves the device.

    / → Ask your notebook

    Step-by-step setup →
  • Meeting notes

    New

    Start a meeting note, then pull out decisions, action items with owners and dates, and open questions into a summary.

    / → Start meeting notes, then / → Pull out decisions and to-dos

    Step-by-step setup →
  • Worth revisiting

    New

    A few older notes each day — linked to what you are writing, written on this day, or long forgotten — with why each was chosen.

    Document panel → Worth revisiting, or / → Open a note worth revisiting

    Step-by-step setup →
  • Stale notes in the weekly review

    New

    The weekly review lists notes pointing at things that no longer exist, and notes that have gone out of date.

    / → Write this week's review → Worth a look

  • Import Markdown files

    New

    Bring .md files or a folder from your computer into any connected repository — or an Obsidian vault or Notion export, with embeds turned into images and links rewritten to still work.

    Import, beside New Note — or ⌘K → Import Markdown files

  • Export anywhere

    PDF, Word, HTML, Markdown, plain text or JSON, made in your browser with diagrams included.

    ⌘⇧E