Search...Search plugins and themes...
⌘K
Sign in
  • Get started
  • Download
  • Pricing
  • Enterprise
  • Account
  • Obsidian
  • Overview
  • Sync
  • Publish
  • Canvas
  • Mobile
  • Web Clipper
  • CLI
  • Learn
  • Help
  • Developers
  • Changelog
  • About
  • Roadmap
  • Blog
  • Resources
  • System status
  • License overview
  • Terms of service
  • Privacy policy
  • Security
  • Community
  • Plugins
  • Themes
  • Discord
  • Forum / 中文论坛
  • Merch store
  • Brand guidelines
Follow us
DiscordTwitterBlueskyThreadsMastodonYouTubeGitHub
© 2026 Obsidian

Kaper

kaperkaper4k downloads

Edit and preview Kaper recipes inline as structured blocks.

Add to Obsidian
  • Overview
  • Scorecard
  • Updates14

A Kaper recipe rendered inline in an Obsidian note

Kaper for Obsidian

Recipes that live in your vault.

Structured recipes inside plain markdown notes. Inline preview. Form editor. Step-by-step Cook Mode. Works on desktop and mobile.

Install · File format · Kaper web app · Issues · Changelog

Adding an ingredient in the Kaper form editor, then dragging it into place

Kaper is a local-first recipe manager: plain markdown files, no cloud, no account. This plugin brings it into Obsidian. A note with a ```kaper block becomes a real recipe, rendered right where the block sits, with the rest of your note around it.

What you can do

  • Write recipes as notes. A recipe is a markdown file with kaper: true in its frontmatter and a ```kaper YAML block in the body. Everything outside the block is normal markdown. For example, a story about where the recipe came from, links to related notes, or photos.
  • See them rendered inline. In Live Preview and Reading view, the block becomes a formatted recipe card with ingredients, steps, times, tags, and images. Switch to Source mode to see the raw YAML.
  • Edit with a form instead of YAML. Set the title, servings, prep and cook time, tags, ingredient groups, and steps with notes, tips, warnings, and durations. Drag ingredients to reorder them. Every change saves automatically.
  • Cook step by step. Click Start Cooking to walk through the recipe one step at a time, with a progress bar and ← / → keys. It opens as a dockable side panel on desktop and a full-screen sheet on mobile.
  • Match your theme. Kaper uses your accent color and surface palette, so recipes look at home in any theme.

Kaper works on desktop and mobile. On mobile, recipes are a read-only preview and Cook Mode. Creating, converting, and form editing are desktop-only for now.

The Kaper form editor

Get started

  1. In Obsidian, open Settings → Community plugins, search for Kaper, then install and enable it.
  2. Click the utensils icon in the left ribbon, or run Kaper: Create recipe from the command palette. To turn a note you already have into a recipe, open it and run Kaper: Convert current note to recipe.
  3. Fill in the recipe in the Form tab, then switch to Preview to see it rendered. Click Start Cooking when you're ready to cook.

If you use the Kaper web or desktop app too, set Settings → Kaper → Kaper vault root folder to the folder you open there. Kaper stores step images under _assets/ in that folder, so both sides need to agree on where it is. Leave it empty to use the vault root. That's the only setting.

Commands

Command What it does
Kaper: Create recipe Creates a new recipe note with a starter block. Desktop only.
Kaper: Convert current note to recipe Adds the frontmatter and a starter block to the open note. Desktop only.

File format

A recipe needs two markers: kaper: true in the frontmatter, and a fenced ```kaper YAML block. The required keys are title, servings, ingredients, and steps. Everything else is optional.

---
kaper: true
---

A true Roman classic. No cream, no shortcuts.

```kaper
title: Classic Pasta Carbonara
servings: 2
difficulty: medium
time:
  cook: 20m
tags: [italian, pasta, weeknight]
ingredients:
  pasta:
    - amount: 200
      unit: g
      name: spaghetti
  sauce:
    - amount: 100
      unit: g
      name: guanciale
      note: diced
      sub: pancetta
steps:
  - title: Bring a large pot of salted water to a boil.
    note: The water should taste like the sea.
  - title: Cook guanciale in a cold skillet until crispy.
    duration: 8m
version: 1
```

Tips and notes go here as regular markdown.

Recipes created by the plugin get a stable id (kaper: r_<id>), so a file keeps its identity when you rename or move it. Older kaper: true files keep working and get an id the first time you open them. See the format reference for every key.

Works with the rest of Kaper

The same .md file opens in this plugin, in the Kaper web app at kaper.me, and in the Kaper desktop app (in development). There's no sync layer to set up. Your files move through whatever you already use: iCloud, Dropbox, Syncthing, git, or a USB stick.

Prefer the browser? View on Kaper on any recipe opens the full web app.

Privacy and network use

Kaper runs entirely inside Obsidian. There is no Kaper server and no account, so we can't read your files.

  • No network requests of its own. Rendering, editing, and Cook Mode all happen locally.
  • View on Kaper opens kaper.me?from=obsidian in your browser. The only thing it sends is that from parameter. Your recipe is not uploaded.
  • Remote images are your choice. If you point a coverImage or step image at an http(s) URL, Obsidian loads it from that host when the recipe renders. That request goes to a server we have no connection to. To keep everything local, use vault paths or the form's image upload.

Quality

Every change runs through TypeScript, ESLint with the official Obsidian ESLint plugin, Prettier, Vitest, and a production build in CI.

Recipes render as CodeMirror 6 block widgets inside Obsidian's own editor, the same pipeline that draws headings and embeds. There's no second UI layered over the editor. YAML goes through Obsidian's built-in parseYaml / stringifyYaml, and ingredient drag-and-drop uses dnd-kit, which supports keyboard, touch, and mouse.

Manual installation

  1. Download main.js, manifest.json, and styles.css from the latest release.
  2. Put them in your vault's .obsidian/plugins/kaper/ folder.
  3. Open Settings → Community plugins and enable Kaper.

Help and feedback

  • Report bugs and request features in Issues.
  • See what changed in each version in the changelog.

Contributing

Bug fixes and pre-discussed features are welcome. Kaper is a one-person, spare-time project, so a few rules keep it stable:

  • Open an issue first. Discuss any new feature, architecture change, or big refactor before writing code. PRs that weren't discussed get closed.
  • No AI-generated bulk. Large AI-generated PRs aren't accepted. Keep code readable, minimal, and in the style that's already here.
  • Pass the checks. Run npm run format, npm run lint, npm run build, and npm test before you push.
  • Keep it small. One PR, one issue.

To work on the plugin locally:

git clone https://github.com/nikoneex/obsidian-kaper.git
cd obsidian-kaper
npm install
npm run dev

Then symlink the repo into a test vault's .obsidian/plugins/kaper folder.

License

MIT


Want the full Kaper experience? Open any folder of recipes at kaper.me. No install. No signup.

HealthExcellent
ReviewPassed
About
Render Kaper code blocks as structured, editable recipes in Live Preview while keeping surrounding Markdown as regular notes. Edit title, servings, tags, ingredient groups and steps in an auto-saving form, jump to Cook Mode on kaper.me with one click, and create new recipes from the ribbon.
EditingIntegrationsFormats
Details
Official
Officially made by its original creators.
Current version
1.4.4
Last updated
3 weeks ago
Created
6 months ago
Updates
14 releases
Downloads
4k
Compatible with
Obsidian 1.4.4+
Platforms
Desktop, Mobile
License
MIT
Report bugRequest featureReport plugin
Author
kaperkaper
kaper.me
GitHubnikoneex
  1. Community
  2. Plugins
  3. Editing
  4. Kaper

Related plugins

LanguageTool Integration

Advanced grammar and spell checking, powered by LanguageTool.

Importer

Convert your data to Markdown files you can use in Obsidian. Works with Apple Notes, OneNote, Evernote, Notion, Google Keep, and many other formats.

BRAT

Easily install a beta version of a plugin for testing.

Self-hosted LiveSync

Sync vaults securely to self-hosted servers or WEBRTC.

Meta Bind

Make your notes interactive with inline input fields, metadata displays, and buttons.

Fast Note Sync

Real-time sync of your vaults across server, mobile, and web; shareable with anyone; supports REST and MCP integrations to build your personal AI knowledge base.

Thino

Quickly capture memos and display them in the sidebar with a heatmap. (Closed source)

Local REST API with MCP

Unlock your automation needs by interacting with your notes over a secure REST API.

Advanced Tables

Improved table navigation, formatting, and manipulation.

Custom Frames

Turn web apps into panes using iframes with custom styling. Also comes with presets for Google Keep, Todoist and more.