| name | apple-notes-core-workflow-b |
| description | Export and convert Apple Notes to Markdown, JSON, HTML, and SQLite.
Use when backing up notes, exporting to other apps, converting HTML to Markdown,
or building searchable note archives from Apple Notes.
Trigger: "export apple notes", "apple notes to markdown", "backup apple notes",
"apple notes to JSON", "convert apple notes".
|
| allowed-tools | Read, Write, Edit, Bash(osascript:*), Bash(node:*), Grep |
| version | 1.6.0 |
| license | MIT |
| author | Jeremy Longshore <jeremy@intentsolutions.io> |
| tags | ["saas","macos","apple-notes","automation","export"] |
| compatibility | Designed for Claude Code |
Apple Notes Core Workflow B — Export & Conversion
Overview
Export Apple Notes to portable formats: Markdown, JSON, HTML files, and SQLite databases. Apple Notes stores content as HTML internally — these workflows convert it to developer-friendly formats.
Instructions
Step 1: Export All Notes to JSON
osascript -l JavaScript -e '
const Notes = Application("Notes");
const allNotes = Notes.defaultAccount.notes();
const exported = allNotes.map(n => ({
id: n.id(),
title: n.name(),
body: n.body(),
folder: n.container().name(),
created: n.creationDate().toISOString(),
modified: n.modificationDate().toISOString(),
}));
JSON.stringify(exported, null, 2);
' > apple-notes-export.json
echo "Exported $(jq length apple-notes-export.json) notes to apple-notes-export.json"
Step 2: Export Notes as Markdown Files
#!/bin/bash
OUTPUT_DIR="${1:-./notes-export}"
mkdir -p "$OUTPUT_DIR"
osascript -l JavaScript -e '
const Notes = Application("Notes");
const notes = Notes.defaultAccount.notes();
notes.map(n => JSON.stringify({
title: n.name(),
body: n.body(),
folder: n.container().name(),
})).join("\n---SEPARATOR---\n");
' | while IFS= read -r line; do
if [ "$line" = "---SEPARATOR---" ]; then continue; fi
title=$(echo "$line" | jq -r '.title' 2>/dev/null)
body=$(echo "$line" | jq -r '.body' 2>/dev/null)
folder=$(echo "$line" | jq -r 2>/dev/null)
md_body=$( | sed )
safe_title=$( | | -c 100)
-p
-e >