macOS formula notepad

Like =SUM
but for language.

🔒 100% on-device. Nothing leaves your Mac.

A native macOS markdown notepad where on-device AI is a first-class formula. Type =apfel("love letter", 42), press Return, watch it stream inline. Compose with =math(365*24). Reproducible via seeds, cached deterministically, rendered in pale green.

MIT Open Source macOS 26 Tahoe Apple Silicon 100% On-Device
apfelpad showing inline formulas rendered in a markdown document
How it works

Write markdown. Add formulas. Get results.

No API keys, no accounts. Open the app, write, and formulas evaluate on your Mac.

1

Write markdown

Open apfelpad. Write in markdown like any notepad. Headings, bold, lists, paragraphs — it all renders inline.

2

Drop in a formula

Type =apfel(summarize this) or =math(365*24) anywhere in your text. Auto-quoting handles the rest.

3

See results inline

Formulas evaluate and render in pale green spans right where you typed them. Results are cached and reproducible via seeds.

The formulas

Seven functions. One syntax.

Every formula starts with = and renders inline. Type English — apfelpad handles the quotes.

=apfel(prompt, seed?)
On-device LLM call with auto-scoped context. The seed makes output reproducible.
=math(expression)
Pure arithmetic. No model involved. Instant evaluation.
=ref(@anchor)
Insert content of a named heading or block. Compose documents from parts.
=count(@anchor?)
Word count of a section or the entire document.
=date(format?)
Current date, optionally formatted. Updates on each evaluation.
=clip()
Snapshot of your clipboard at evaluation time.
=file(path)
Contents of a local file. Sandboxed to safe directories.
Before you install

Requirements

apfelpad uses on-device Foundation Models for AI formulas. You need all four.

macOS 26 (Tahoe)

Required for Foundation Models. Apple menu > System Settings > Software Update.

Apple Silicon (M1+)

On-device AI runs on-chip only. Apple menu > About This Mac must say M1, M2, M3, or M4.

Apple Intelligence

Enable in System Settings > Apple Intelligence & Siri. Required for =apfel() formulas.

apfel on PATH

The AI engine. Bundled in Homebrew builds. Source builds: brew install Arthur-Ficial/tap/apfel.

=math() works without AI. You can use apfelpad for markdown editing and arithmetic formulas even without Apple Intelligence. Only =apfel() formulas require the on-device model.
Install

Get apfelpad

Free. Signed and notarised. Apple Silicon only.

Download

Download the zip, unzip, drag apfelpad.app to your Applications folder, and open it.

Download free (arm64)

Signed and notarised by Apple. SHA-256 checksums in each release.

After installing

  1. Open apfelpad from Applications
  2. A welcome document opens with example formulas
  3. Click a green formula span to edit its source
  4. Type =math(2+2) and press Return
  5. Toggle Edit source / Render to see raw markdown
  6. The formula bar at top shows the active formula
Other install options

Homebrew

brew install Arthur-Ficial/tap/apfelpad

Best for developers. Updates with brew upgrade apfelpad.

Curl installer

curl -fsSL https://raw.githubusercontent.com/Arthur-Ficial/apfelpad/main/scripts/install.sh | zsh

Installs to /Applications and links apfelpad to ~/.local/bin.

Build from source

git clone https://github.com/Arthur-Ficial/apfelpad.git
cd apfelpad && make install

Requires Xcode command-line tools and apfel on PATH.

Features

A spreadsheet for prose.

Every formula renders inline. The document is the interface.

Core

Inline formula rendering

Formulas evaluate and render in pale green spans right where you type them. No separate output pane. The result is the document.

Privacy

100% on-device AI

Every =apfel() call goes to localhost via apfel and Foundation Models. No API keys. No cloud. No data leaves your Mac.

Reproducibility

Deterministic seeds

=apfel("prompt", 42) produces the same output every time. Share the document and the recipient gets the same results.

Speed

Cached results

Every formula result is cached by its inputs. Re-opening a document shows results instantly. Change the prompt and it re-evaluates.

Authoring

Auto-quoting parser

Type =apfel(hello world) and apfelpad canonicalises it to =apfel("hello world"). Type English. The parser handles the syntax.

Format

Plain markdown files

Documents are .md files on disk. Open them in any editor. The formulas are just text. apfelpad renders them, other editors show them raw.

Under the hood

Powered by apfel.

apfelpad is a native macOS editor built on top of apfel, an open-source CLI and OpenAI-compatible server that wraps the on-device foundation model. apfel handles all AI inference. apfelpad handles the formula parsing, caching, context resolution, and inline rendering on top of it.

Where apfelpad shines

  • Drafting documents with AI-generated sections
  • Inline arithmetic in meeting notes and plans
  • Reproducible AI output via seeds for templates
  • Privacy-sensitive writing: medical, legal, personal
  • Working offline: planes, travel, no Wi-Fi
  • Composing documents from named sections with =ref()
  • Daily use without a subscription or API key

Honest limitations

  • 4,096-token context window. The on-device model sees roughly 3,000 words. Long documents will be auto-scoped to the current section.
  • One fixed model. You cannot switch to GPT-4 or Claude. The on-device model is capable but less powerful than frontier cloud models for complex reasoning.
  • macOS 26 required. Apple Silicon (M1+), Apple Intelligence enabled. =math() works without AI.
  • No rich text. Markdown only. No tables editor, no embedded images, no WYSIWYG formatting toolbar.
In action

Formulas in your writing.

Inline results. Pale green spans. Click to edit. Toggle source view.

Rendered

Inline formula results

Math formulas show computed values. AI formulas show generated text. Both render as green spans in the document flow.

apfelpad rendered view with inline math and AI formula results
Source

Edit the raw markdown

Toggle to source view to see the formula syntax. =math(365*24) becomes 8760. =apfel("prompt", seed) becomes the AI's response.

apfelpad source view showing raw formula syntax in markdown
Privacy

One network call. Not for inference.

apfelpad makes one optional network call: checking api.github.com for new releases (togglable in settings). That's it.

Every AI call goes to localhost:11450 where apfel --serve runs on your machine. Documents are plain markdown files on your disk. No telemetry. No accounts. No cloud inference. Ever.

Free and open source.

MIT-licensed. Use it, fork it, ship it. Bug reports, pull requests, and feature ideas all welcome.