# exporter.dev, every page
> Exporter is a Mac app (Exporter: Notes to Markdown on the App Store) that reads Apple Notes, Messages, Mail, Contacts, Screen Time, Reminders, Calendar, Bear, Logseq, Documents, Wallet, Claude Code, Linear, Notion, Safari and Voice Memos directly off your Mac and keeps them as plain Markdown files (Apple Notes, Bear and Documents also as HTML), in sync as you keep using the apps. It also serves the export to agents over a built-in local MCP server. Local and private, no account. Every app has a free allowance; unlimited is a one-time purchase per app, priced per country (https://exporter.dev/pricing), never a subscription.
# Your notes are trapped. Let's get them out.
Exporter reads Apple Notes, Mail, Messages, Contacts, Calendar, Reminders and more live off your Mac and hands them back as plain Markdown, yours to keep, in any app, ready for any agent.
[Download for Mac](https://apps.apple.com/us/app/exporter-notes-to-markdown/id6741618455?mt=12) · 100 notes free · $4.99 once · macOS 15+ (US price, set per country)
## The apps Exporter reads.
Exporter reads each app's data where the app keeps it on your Mac, and updates the files as you keep using the app.
### apps
- [Apple Notes](https://exporter.dev/notes.md): Notes with their folders, tags and attachments, drawings included. (free for your first 100 notes)
- [Messages](https://exporter.dev/messages.md): One file per conversation, with a heading per day, reactions and photos. (free for your 50 most recent conversations)
- [Mail](https://exporter.dev/mail.md): One file per email, sorted by Mail's own kinds, by account or by date. (free for your newest 1,000 emails)
- [Contacts](https://exporter.dev/contacts.md): One file per card, with every field in the front matter. (free for your first 100 contacts)
- [Screen Time](https://exporter.dev/screen-time.md): One file per day, kept after macOS deletes it about four weeks later. (free for your 10 most recent days)
- [Reminders](https://exporter.dev/reminders.md): One file per list, a reminder per checkbox line, completed ones kept. (free for your first 100 reminders)
- [Calendar](https://exporter.dev/calendar.md): One file per month, a heading per day, repeats on every day they happen. (free for your first 100 events)
- [Bear](https://exporter.dev/bear.md): Tagged notes, one folder per tag, read from Bear's database. (free, no limit)
- [Logseq](https://exporter.dev/logseq.md): Pages and journals, namespaces as folders. (free, no limit)
- [Documents](https://exporter.dev/documents.md): Word, PowerPoint, Excel, PDF and more, from a folder you pick. (free for your 10 most recently modified documents)
- [Wallet](https://exporter.dev/wallet.md): One file per pass: boarding passes, tickets and store cards, with their barcodes. (free for your 20 most recent passes)
- [Claude Code](https://exporter.dev/claude-code.md): One note per session, the original log beside it, kept after the purge. (free for your 50 most recent sessions)
- [Linear](https://exporter.dev/linear.md): Issues with their comments, projects and documents, synced within a minute. (free for 7 days, then a subscription)
- [Notion](https://exporter.dev/notion.md): Pages and databases with their properties and images, synced within minutes. (free for 7 days, then a subscription)
- [Safari](https://exporter.dev/safari.md): A file per day of history, per bookmark folder and per Reading List page, with your tabs. (free for your newest 10 days of history, with every bookmark)
- [Voice Memos](https://exporter.dev/voice-memos.md): A note per recording beside its audio, with its transcript, heard on your Mac when needed. (free for your 20 newest recordings)
## Start on your own or with your agent.
You need the app and a folder. An agent also needs the command line and the MCP server.
### for you
1. Get Exporter: From the Mac App Store. macOS 15 or later, no account.
2. Open it and connect an app: A welcome walks you through the first app; the others connect from the home screen. For each one a panel opens in the app's folder: press Select This Folder. Then choose where the files go.
3. Export free: Each app has a free allowance: 100 notes, 100 contacts, your 50 most recent conversations, 10 days of Screen Time, 10 documents. Bear and Logseq have no limit. What you export keeps syncing free.
4. Unlock an app once: To export everything from an app, unlock it in Exporter with a one-time purchase.
5. Use it: The files update as you use the apps. Open them in Obsidian or any editor.
[Getting started](https://exporter.dev/docs/getting-started) · [Download](https://exporter.dev/download) · [Pricing](https://exporter.dev/pricing)
### for your agent · Terminal
1. Install the skills: Five skills teach an agent to export, back up and search with Exporter.
```sh
npx skills add https://exporter.dev
```
2. Install the command line: The app is sandboxed, so you paste one line in Terminal once, from "Copy Install Command" on the Command Line card. Then the agent can check what is connected.
```sh
exporter status --json
```
3. Connect Claude: For Claude Code, run the command below. Cursor and VS Code connect from buttons on the app's MCP Server card; the claude desktop button copies an entry for Claude's config.
```sh
claude mcp add --transport http exporter http://localhost:8744/mcp
```
4. Ask: “Find my notes about the kitchen renovation and summarize where we landed.”
[For agents](https://exporter.dev/agents) · [Command line](https://exporter.dev/docs/cli) · [MCP server](https://exporter.dev/docs/mcp)
## Claude can search your exports.
Exporter runs a local MCP server, so Claude can search your exported notes, messages and contacts on your Mac. [Set it up](https://exporter.dev/agents).
```sh
claude mcp add --transport http exporter http://localhost:8744/mcp
```
---
human version: https://exporter.dev/
every page: https://exporter.dev/llms.txt
# Export Bear notes to Markdown
Bear notes as Markdown files in a folder per tag, kept in sync, free with no limit.
[Download for Mac](https://apps.apple.com/us/app/exporter-notes-to-markdown/id6741618455?mt=12)
## What comes out
- Your notes as written: Each note's own Markdown text, exactly as Bear stores it, in a file named after the note.
- A folder per tag: Each note lands in the folder of its first tag in alphabetical order, and nested tags become subfolders. A note with no tag lands in an `_untagged` folder and sits in the tag list as untagged, which you can untick like any tag.
- Attachments: Images and files copied into an `attachments` folder beside the notes, with the links rewritten to point at the copies.
- No backup file first: Exporter reads Bear's database. There is no `.bear2bk` backup to make and no export dialog to repeat.
- Deleted and renamed notes: A note you delete, rename or retag loses its old file on the next sync.
- About HTML: The format row can switch Bear to HTML, but that HTML is only the note's plain text inside a `
`, and attachments are copied without links. Keep Markdown.
- Next to your other apps: The Bear folder sits beside your other export folders, and Claude can list and read it over MCP.
## How it works
1. Connect Bear: Press Connect beside Bear on Exporter's home and select the folder the panel opens in. Then choose where the files go.
2. Pick what to export: Every tagged note, or only some tags, with Recent, Pinned, Archived and Files beside your tags.
3. It syncs: Press Sync. After that, edits in Bear are written to the files.
How it works: [Bear docs](https://exporter.dev/docs/bear) · Guides: [Bear to Obsidian](https://exporter.dev/guides/bear/bear-to-obsidian)
## Questions
### Why not use Bear's own export?
For a one-time copy, use it: Bear exports Markdown itself, for free. Exporter keeps a folder current without repeating the export.
### Does it add front matter to Bear notes?
No. Bear notes are written as Bear stores them, with no YAML added. The other apps' files carry front matter.
### Is it really free?
Yes. Bear export in Exporter has no limit and no purchase.
## Let Claude read your Bear notes
Exporter's local MCP server serves the Bear export folder with the rest. [Set it up](https://exporter.dev/docs/mcp).
Connect Claude Code. Claude can then list and read the Bear notes you exported.
```sh
claude mcp add --transport http exporter http://localhost:8744/mcp
```
## Related
- [Logseq](https://exporter.dev/logseq): Logseq pages and journals as Markdown
- [Bear to Obsidian](https://exporter.dev/guides/bear/bear-to-obsidian): Bear notes in your vault, a folder per tag
- [CLI](https://exporter.dev/docs/cli): Every command, flag and exit code
---
human version: https://exporter.dev/bear
every page: https://exporter.dev/llms.txt
# Export Apple Calendar to Markdown
One file per month on your Mac, a heading per day, and a repeating event on every day it happens.
[Download for Mac](https://apps.apple.com/us/app/exporter-notes-to-markdown/id6741618455?mt=12)
## A month, as a file.
The month opens with what it holds, then a heading per day and one line per event: the time, what it is, which calendar it came from and where.
`2026-09.md`
```markdown
---
title: "Calendar, September 2026"
created: 2026-09-01T09:00:00
tags:
- "calendar"
month: 2026-09
events: 284
calendars: ["Work", "Home", "Birthdays"]
---
## 2026-09-17, Thursday
- all day Marilyn Birthday · Birthdays
- 09:30-10:00 Standup · Work · Zoom [repeats:: weekly] [with:: 6]
- 13:00-14:00 Lunch with Kevin · Home · Philz Coffee
- 19:00-22:00 SF Database Meetup · Work · 655 Montgomery St
## 2026-09-19, Saturday
- all day, 3 days Lisbon · Home
- 08:00 SFO to LIS · Work
```
## What comes out
One file per month, in one folder. A month you have no events in gets no file.
- A heading per day: All-day events first, then by the time they start, which is the order Calendar draws a day in. An all-day event says so instead of gaining a midnight it never had.
- Repeats on every day they happen: A weekly standup is on every week, not once. Exporter reads the occurrences Calendar itself keeps, so the file matches what the app shows.
- The calendar each event came from: Work, Home, a shared calendar or a subscribed one. The month's calendars are listed in the front matter, so a vault can filter on them.
- Where it is: A room, a venue or an address, as the event carries it. A video call's link is on the line as `join::`.
- Accounts, not a long list: The picker groups your calendars under their accounts, the way Calendar's sidebar does, so one untick can leave out a whole account.
- How far back: this year, 2 years, 5 years or all, on the card. Calendar itself keeps about two years of occurrences, so that is what there is to read.
## How it works
1. Connect Calendar: A panel opens in Calendar's own folder: press Select This Folder. Exporter reads the store in it, and macOS never asks for calendar access.
2. Pick calendars: Every calendar is ticked, grouped by account. Untick one and its events leave the months on the next sync.
3. It syncs: Press Sync. Each month becomes one file, and an event you move rewrites that month within a minute.
How it works: [Calendar docs](https://exporter.dev/docs/calendar) · Guides: [Keep your calendar](https://exporter.dev/guides/calendar/keep-your-calendar)
## Questions
### Does this ask for calendar access?
No. Exporter reads Calendar's own store through the folder you grant, not through EventKit, so no permission dialog appears and no other app's calendars are touched.
### Why one file per month and not one per event?
A year is a few hundred events and twelve files you can read. A file each would be a folder of one-line notes.
### What is free?
Your first 100 events export and keep syncing free. Unlocking Calendar is a one-time purchase in Exporter.
### Are invitations and attendees included?
A line says how many people are on an event. Their names and replies stay in Calendar.
### Is anything uploaded?
No. Exporter reads your calendar and writes the files on your Mac. No account, no server.
## Against the alternatives
Calendar exports .ics, which is a format for another calendar, not for reading or searching.
| | Exporter | Export .ics | Screenshot |
|---|---|---|---|
| Readable Markdown | Yes | No | No |
| One file per month, a heading per day | Yes | No | No |
| Repeats on every day they happen | Yes | No | Yes |
| Every calendar at once | Yes | One at a time | No |
| Kept in sync | Yes | No | No |
| Price | 100 events free, then a one-time purchase | Free | Free |
## Let Claude read your calendar
Exported months are searchable over Exporter's local MCP server. [Set it up](https://exporter.dev/docs/mcp).
Connect Claude Code. Then ask: “What did I do in September, and who did I meet twice?” Claude reads the months as files.
```sh
claude mcp add --transport http exporter http://localhost:8744/mcp
```
## Related
- [Reminders](https://exporter.dev/reminders): Every list as a Markdown checklist
- [Export Apple Notes to Markdown](https://exporter.dev/notes): Apple Notes as Markdown, kept in sync
- [MCP server](https://exporter.dev/docs/mcp): Connect Claude and other agents
---
human version: https://exporter.dev/calendar
every page: https://exporter.dev/llms.txt
# Export Claude Code sessions
One Markdown note per session, the original log beside it, kept after Claude Code deletes it.
[Download for Mac](https://apps.apple.com/us/app/exporter-notes-to-markdown/id6741618455?mt=12)
## A session, as a note.
A paragraph per turn with the time and a block id, tool calls folded to what they ran, edits as diffs. Thinking, tool results and the harness's own notices never land in the note.
`2026-08-23 2233 fix the changelog header link.md`
```markdown
---
agent: claude-code
session: "a87cea2b-6f0e-4b1c-9d2a-3e4f5a6b7c8d"
title: "fix the changelog header link"
project: "wander.md"
cwd: "/Users/anton/products/wander.md"
branch: "main"
model: claude-fable-5-1
started: 2026-08-23T20:33:00Z
ended: 2026-08-23T20:40:04Z
turns: 5
prompts: 3
tools: 4
files:
- "src/layout.astro"
---
**you** · 22:33 ^turn-1
see the changelog page, the header link goes to /contact
**claude** · 22:34 ^turn-2
I'll look at the live page first.
```tool Bash "find docs route" ^toolu_01A
ls src
```
```diff src/layout.astro ^toolu_01B
- contact
+ changelog
```
```
## What comes out
One note per session under a folder per project, plus the original log under `originals/`. Names are the date, the time and the session's title.
- Turns you can link to: Each turn is a paragraph with a block id, so another note can point at the exact exchange.
- Tool calls, folded: A tool call is a fence with what it ran and its short summary. Results, thinking and the harness's own notices are left out.
- Edits as diffs: Every Edit and Write shows as a diff, and the front matter lists the files the session touched.
- Pasted images: Images pasted into a session are written as files beside the note and embedded in the turn.
- The original, kept: The JSONL log is copied byte for byte. Copy it back into ~/.claude/projects and `claude --resume` finds it, long after Claude Code has purged it.
- Live while it runs: A running session updates its note as the log grows; only logs that changed are read again, so 800 sessions sync in seconds.
## How it works
1. Connect Claude Code: A panel opens in your .claude folder: press Select This Folder. Exporter reads only the projects folder inside it, with no permission prompt.
2. Pick sessions: Every session is ticked. Pills show the recent, the busiest and the running ones, and a search field finds a session by its title, its first prompt or its project. Choose markdown, the original, or both.
3. It syncs: Press Sync. Each session becomes a note under its project, and a session still running rewrites its note as you go.
How it works: [Claude Code docs](https://exporter.dev/docs/claude-code) · Guides: [Claude Code history](https://exporter.dev/guides/claude-code/keep-claude-code-sessions)
## Questions
### Where do the logs live?
Claude Code writes one JSONL file per session under ~/.claude/projects, in a folder named after the working directory, and deletes it thirty days after its last line. Exporter reads that folder and nothing else in ~/.claude.
### What is free?
Your 50 most recent sessions export and keep syncing free. Unlocking Claude Code is a one-time purchase in Exporter.
### Is anything uploaded?
No. Exporter reads the logs and writes the files on your Mac. No account, no server.
## Against the alternatives
Claude Code has no export of its own; the logs are readable only with a script, and they are gone after thirty days.
| | Exporter | A script over the JSONL | Copy and paste |
|---|---|---|---|
| Every session at once | Yes | Yes | No |
| Readable Markdown, one note per session | Yes | Manual | Manual |
| Tool calls and diffs kept, noise dropped | Yes | Manual | No |
| The original log kept past the purge | Yes | Manual | No |
| Kept in sync while a session runs | Yes | No | No |
| Price | 50 sessions free, then a one-time purchase | Free | Free |
## Let Claude read its own history
Exported sessions are searchable over Exporter's local MCP server. [Set it up](https://exporter.dev/docs/mcp).
Connect Claude Code. Then ask: “What did we decide about the changelog header last month?” Claude reads the session as a note.
```sh
claude mcp add --transport http exporter http://localhost:8744/mcp
```
## Related
- [Export Apple Notes to Markdown](https://exporter.dev/notes): Apple Notes as Markdown, kept in sync
- [Documents](https://exporter.dev/documents): Word, slides, sheets and PDFs to Markdown
- [MCP server](https://exporter.dev/docs/mcp): Connect Claude and other agents
---
human version: https://exporter.dev/claude-code
every page: https://exporter.dev/llms.txt
# Export Contacts to Markdown
Each contact card becomes a Markdown file with every field, kept in sync as you edit.
[Download for Mac](https://apps.apple.com/us/app/exporter-notes-to-markdown/id6741618455?mt=12)
## A contact card, as a file.
Every field is in the front matter, as values and lists Obsidian's Properties panel can edit. The body is the name, the job line and the card's note.
`Anna Kowalski.md`
```markdown
---
title: "Anna Kowalski"
id: "410FE041:ABPerson"
created: 2019-04-02T10:15:33
modified: 2026-08-30T19:02:11
source_url: "addressbook://410FE041:ABPerson"
organization: "Northwind Studio"
job_title: "Art director"
birthday: 1990-12-10
email: "anna@northwind.example"
phone: "+1 415 555 0123"
emails:
- "anna@northwind.example (work)"
phones:
- "+1 415 555 0123 (mobile)"
addresses:
- "18 Harbor Street, San Francisco, CA, 94107, United States (work)"
groups:
- "Studio"
conversations:
- "[[messages/Anna Kowalski]]"
---
# Anna Kowalski
Art director · Northwind Studio
Met at the print fair. Prefers matte paper.
```
## What comes out
The email-only entries Gmail collects for every address you wrote to are left out.
- Every field on the card: Organization, job title, birthday, emails, phones, addresses, websites, social profiles, dates, related names.
- Labels kept: Each value carries its label, like `+1 415 555 0123 (mobile)`, and the first email and phone are plain `email` and `phone` fields for templates.
- Groups: The Contacts groups a card belongs to, as a list in the front matter.
- People and their conversations: With Messages exported too, a card lists its conversations and each conversation links back to the card.
- Link back: `source_url` opens the card in Contacts.
- Stable names: Two people with the same name each get a short id suffix, so neither file overwrites the other.
## How it works
1. Connect Contacts: A panel opens in your AddressBook folder: press Select This Folder. Exporter reads only that folder, with no permission prompt.
2. Pick who: Tick cards by group or company, or export every card. Organize files by group or by company and each file goes into a folder per group or company.
3. It syncs: Press Sync. Each card becomes `Name.md`, and an edited card rewrites its file.
How it works: [Contacts docs](https://exporter.dev/docs/contacts) · Guides: [Contacts to Obsidian](https://exporter.dev/guides/contacts/contacts-to-obsidian)
## Questions
### Why not just use vCard?
Use vCard to move cards to another address book: select contacts in Contacts, then File > Export > Export vCard. A `.vcf` file is made for importing. The Markdown files are for reading, searching and linking.
### What is free?
Your first 100 contacts export and keep syncing free. Unlocking Contacts is a one-time purchase in Exporter.
### Is anything uploaded?
No. Exporter reads your contacts and writes the files on your Mac. No account, no server.
## Against the alternatives
Apple's export is vCard, the right choice for moving cards to another address book.
| | Exporter | vCard export | Copy and paste |
|---|---|---|---|
| Every card at once | Yes | Yes | No |
| Readable Markdown, one file per person | Yes | No | Manual |
| Fields as Obsidian properties | Yes | No | No |
| Linked to your conversations | Yes | No | No |
| Kept in sync as cards change | Yes | One-time | No |
| Imports into another address book | No | Yes | No |
| Price | 100 contacts free, then a one-time purchase | Free | Free |
## Let Claude look people up
Exported cards are searchable over Exporter's local MCP server. [Set it up](https://exporter.dev/docs/mcp).
Connect Claude Code. Then ask: “When is Anna's birthday, and when did we last talk?” Claude reads the card and the conversation it links to.
```sh
claude mcp add --transport http exporter http://localhost:8744/mcp
```
## Related
- [Messages](https://exporter.dev/messages): Every conversation as a file
- [Contacts to Obsidian](https://exporter.dev/guides/contacts/contacts-to-obsidian): A note per person, fields as Properties
- [MCP server](https://exporter.dev/docs/mcp): Connect Claude and other agents
---
human version: https://exporter.dev/contacts
every page: https://exporter.dev/llms.txt
# Convert documents to Markdown
A Markdown file for each document in a folder you pick, converted again when it changes.
[Download for Mac](https://apps.apple.com/us/app/exporter-notes-to-markdown/id6741618455?mt=12)
## What it reads
- Word and text: `.doc`, `.docx`, `.docm`, OpenDocument `.odt` and `.rtf`.
- Slides: PowerPoint `.ppt`, `.pptx` and their show and template variants, and OpenDocument `.odp`.
- Spreadsheets: Excel `.xls`, `.xlsx`, `.xlsm`, `.xlsb`, OpenDocument `.ods` and `.csv`.
- PDF and EPUB: PDFs, with scanned pages read by Apple's own text recognition, and `.epub` books.
- Same folder shape: Each output sits where its document sits in your folder.
- Markdown, HTML or both: Tick Markdown, HTML or both on the Documents card, the only one that writes both in one sync. With both, `report.md` and `report.html` sit side by side, and the pair counts as one document against the free allowance. The HTML is plain, with no styling.
- Nothing uploaded: Conversion runs on your Mac. No document and no scanned page is sent anywhere.
## How it works
1. Pick a folder: Choose the folder of documents, and an export folder for the Markdown outside it.
2. Convert: Sync the whole folder, or convert one document from the list with the button at the end of its row.
3. It keeps up: A document whose Markdown is already newer than it is skipped without being opened, so a big folder stays fast.
How it works: [Documents docs](https://exporter.dev/docs/documents) · Guides: [Documents in Claude](https://exporter.dev/guides/documents/documents-in-claude) · [Word to Obsidian](https://exporter.dev/guides/documents/word-to-markdown-for-obsidian)
## Questions
### Is there a free way to do this?
Yes. pandoc is free and open source, runs in Terminal, and converts Word, OpenDocument and EPUB files to Markdown one command at a time. Exporter is for a whole folder that stays converted, PDFs and scans included, without a command per file.
### What is free?
Your 10 most recently modified documents convert free. Unlocking Documents is a one-time purchase in Exporter.
### Does it read Pages, Numbers or Keynote files?
No. Export those from their own apps to Word, Excel or PowerPoint, or PDF, and Exporter converts the result.
## Hand your documents to Claude
The converted Markdown sits in an export folder like every other app's, readable by Claude over Exporter's local MCP server. [Set it up](https://exporter.dev/docs/mcp).
Connect Claude Code. Claude can then list and read your contracts, slides and papers as Markdown.
```sh
claude mcp add --transport http exporter http://localhost:8744/mcp
```
## Related
- [Documents in Claude](https://exporter.dev/guides/documents/documents-in-claude): A folder of documents Claude can read
- [CLI](https://exporter.dev/docs/cli): Every command, flag and exit code
---
human version: https://exporter.dev/documents
every page: https://exporter.dev/llms.txt
# Export Linear to Markdown
One file per issue, project and document on your Mac, kept in sync with your workspace.
[Download for Mac](https://apps.apple.com/us/app/exporter-notes-to-markdown/id6741618455?mt=12)
## An issue, as a file.
The front matter carries its id, team, state, priority, assignee, labels and project. Then the title, the description and every comment.
`NW-142 Invite flow.md`
```markdown
---
title: "Invite flow"
id: "NW-142"
created: 2026-10-02T09:14:08Z
modified: 2026-10-14T16:40:31Z
source_url: "https://linear.app/northwind/issue/NW-142"
team: "Northwind"
state: "In Progress"
priority: "High"
assignee: "ana"
labels: ["Onboarding"]
project: "Q4 launch"
---
# Invite flow
A new teammate gets the email, opens the link and lands in the workspace.
## Comments
### ana, 2026-10-14T16:40:31Z
Moved the copy review to Thursday.
```
## What comes out
One file per issue, project and document, in a folder per team, with Projects and Documents beside them.
- Issues with their comments: Every field Linear shows on an issue, in the front matter, then the description and the whole comment thread.
- Projects and documents: A project's status, lead, teams and dates, its description and content. A document with its project and creator.
- Within a minute: Linear tells Exporter's server about every change, and the file on your Mac follows in seconds, a minute at most.
- A rename moves the file: Each file is tied to its issue, not its name, so a renamed issue moves its file and leaves nothing behind.
- Archived means gone: An issue you archive, trash or delete in Linear loses its file at the next sync.
- Read only: Exporter asks Linear to read and never changes an issue, a project or a document.
## How it works
1. Connect Linear: Sign in with Apple, then press Authorize on Linear's page in your browser.
2. Choose items: Issues, projects and documents, all ticked. Untick what you don't want.
3. It syncs: Your workspace arrives as Markdown, and every change after it within a minute.
How it works: [Linear docs](https://exporter.dev/docs/linear) · Guides: [Linear to Obsidian](https://exporter.dev/guides/linear/linear-to-obsidian) · [Linear in Claude Code](https://exporter.dev/guides/linear/linear-in-claude-code)
## Questions
### What does it cost?
The first 7 days are free. Then Exporter Cloud is a subscription in the App Store: Linear on its own, or All Cloud for every cloud source we add, monthly or yearly.
### Why does Linear go through a server?
Linear tells a server the moment something changes, so the server keeps your files current and your Mac pulls them. Your Mac never holds the Linear token.
### Is my workspace stored anywhere?
The files are kept on Exporter's storage in Western Europe so your Mac can fetch them, and deleted 30 days after a plan ends. [Privacy](https://exporter.dev/privacy) has the details.
### Can I use the files in Obsidian or Claude?
Yes. They are plain Markdown with front matter: pick a folder inside your Obsidian vault, or point Claude Code at the folder.
### What happens when I stop paying?
Syncing stops and the files on your Mac stay. Subscribe again and it carries on.
## Against the alternatives
Linear exports issues as a CSV file from its settings, once, by hand.
| | Exporter | Linear's CSV export | Copy and paste |
|---|---|---|---|
| Readable Markdown | Yes | No | By hand |
| Comments included | Yes | No | By hand |
| Projects and documents | Yes | No | By hand |
| Kept in sync | Yes | No | No |
| Price | 7 days free, then a subscription | Free | Free |
## Related
- [Linear](https://exporter.dev/docs/linear): Connect, files, sync and fixes
- [Linear guides](https://exporter.dev/guides/linear): Obsidian and Claude Code
- [Pricing](https://exporter.dev/pricing): Free allowances, unlocks and Exporter Cloud
---
human version: https://exporter.dev/linear
every page: https://exporter.dev/llms.txt
# Export Logseq pages to Markdown
Your Logseq graph as Markdown with front matter, free with no limit.
[Download for Mac](https://apps.apple.com/us/app/exporter-notes-to-markdown/id6741618455?mt=12)
## A Logseq page, as a file.
Page properties become front matter, the outline stays an outline, and `TODO` and `DONE` become checkboxes. A namespace like `projects/poster` becomes a folder, so `[[projects/poster]]` keeps resolving.
`pages/projects/poster.md`
```markdown
---
title: "projects/poster"
id: "66d9f3a2"
created: 2026-03-14T09:20:00
modified: 2026-05-02T18:40:12
source_url: "logseq://graph/notes?page=projects%2Fposter"
tags:
- "print"
word_count: 19
reading_time: 1
source: "logseq"
source_graph: "notes"
status: "draft"
---
- Poster for the spring show
- [x] Pick the blue render
- [ ] Try a second type size
- Printer quotes in [[Print shops]]
```
## What comes out
- Journals and pages: Journals as `journals/2026-09-01.md`, ready for Obsidian's daily notes; pages under `pages/`.
- Namespaces as folders: `projects/poster` becomes `pages/projects/poster.md`, so wikilinks keep resolving.
- Properties as front matter: Page properties, tags and aliases in YAML, plus the graph's name and a `logseq://` link back to the page.
- Tasks as checkboxes: `TODO`, `LATER`, `NOW`, `DOING` and `WAITING` become `- [ ]`; `DONE` and `CANCELED` become `- [x]`.
- Obsidian bases: The same three bases as the Apple Notes export, in `bases/`.
## How it works
1. Connect Logseq: Press Connect beside Logseq on Exporter's home and select your graph's folder, the one that holds `db.sqlite` or `pages/`. Then choose where the files go.
2. Sync: Press Sync. Every page and journal is written as Markdown with front matter.
3. Keep writing: Write in Logseq as before; your edits are written to the export.
How it works: [Logseq docs](https://exporter.dev/docs/logseq) · Guides: [Logseq to Obsidian](https://exporter.dev/guides/logseq/logseq-to-obsidian)
## Questions
### My graph is already Markdown. Why export it?
If the plain files are enough, use them. Exporter adds YAML front matter from page properties, real checkboxes, namespaces as folders and a link back into Logseq.
### Is it really free?
Yes. Logseq export in Exporter has no limit and no purchase.
## Let Claude read your graph
Exporter's local MCP server serves the Logseq export folder with the rest. [Set it up](https://exporter.dev/docs/mcp).
Connect Claude Code. Claude can then list and read the pages you exported.
```sh
claude mcp add --transport http exporter http://localhost:8744/mcp
```
## Related
- [Bear](https://exporter.dev/bear): Bear notes in a folder, free, no limit
- [Logseq to Obsidian](https://exporter.dev/guides/logseq/logseq-to-obsidian): Your graph as an Obsidian-ready folder
- [CLI](https://exporter.dev/docs/cli): Every command, flag and exit code
---
human version: https://exporter.dev/logseq
every page: https://exporter.dev/llms.txt
# Export Apple Mail to Markdown
One file per email on your Mac, by date, by account or by kind, and new mail arrives as it comes in.
[Download for Mac](https://apps.apple.com/us/app/exporter-notes-to-markdown/id6741618455?mt=12)
## An email, as a file.
The front matter says who sent it, to whom, from which account and which of Mail's tabs it sits in. Then the subject and the body as clean Markdown.
`2026-09-28 Your order has shipped 491560.md`
```markdown
---
title: "Your order has shipped"
id: "mail-491560"
created: 2026-09-28T14:02:11
modified: 2026-09-28T14:02:15
source_url: "message://%3C8f2c41@mail.example.com%3E"
from: "Example Store "
to: "you@example.com"
read: true
account: "you@example.com"
kind: transactions
---
# Your order has shipped
Your package is on its way and arrives **Thursday, October 1**.
| Item | Qty |
|---|---|
| Walnut desk tray | 1 |
[Track your package](https://example.com/track/491560)
```
## What comes out
One file per email, named by its day, its subject and a short number, in folders you choose: by date, by account or by kind.
- Mail's own kinds: Primary, Transactions, Updates, Promotions and Not Sorted by Mail, the tabs Mail itself sorts by. Untick Promotions and they stay out of your files.
- Accounts by their address: Each account is named by its address, the way you know it. Untick one and its mail stays out.
- The body as Markdown: Headings, lists, tables and links come through as Markdown, so a receipt reads like a receipt.
- What is left out by itself: Updates and Promotions start unticked, and so do Drafts and Trash. Deleted mail, Spam and Junk never sync.
- Organize, and change your mind: By Date, By Account or By Kind. Change it and every file moves at the next sync, with nothing left at the old place.
- New mail as it arrives: Exporter watches Mail's own index, so while it runs a new email becomes a file on its own, with no press.
## How it works
1. Connect Mail: A panel opens on Mail's own folder: press Open Mail Folder and select it. Exporter reads the mail Mail keeps on your Mac, and macOS asks nothing else.
2. Choose emails: Two tabs, Kinds and Accounts. An email syncs when both tick it.
3. It syncs: Press Sync. The newest 1,000 emails come first, in seconds, and the rest after Unlock Mail.
How it works: [Mail docs](https://exporter.dev/docs/mail) · Guides: [Apple Mail in Claude](https://exporter.dev/guides/mail/email-in-claude) · [Save emails as files](https://exporter.dev/guides/mail/save-emails-as-files)
## Questions
### Does this need Full Disk Access?
No. You select Mail's folder in a panel once, and Exporter reads only what is in it. No mail permission, no account sign-in.
### What is free?
Your newest 1,000 emails export and keep syncing free. Unlocking Mail is a one-time purchase in Exporter.
### Are attachments exported?
No, the email's text and links are. Attachments stay in Mail. An email whose body Mail never downloaded says so in its file instead of being left out.
### Can I use the files in Obsidian or Claude?
Yes. They are plain Markdown with front matter, so Obsidian reads them as notes and AI apps read them over Exporter's local MCP server.
### Is anything uploaded?
No. Exporter reads your mail and writes the files on your Mac. No account, no server.
## Against the alternatives
Mail saves one message at a time as .eml or PDF, made to open in another mail app or to print.
| | Exporter | Save As .eml | Print to PDF |
|---|---|---|---|
| Readable Markdown | Yes | No | No |
| Every email at once | Yes | One at a time | One at a time |
| Sorted by Mail's kinds | Yes | No | No |
| Kept in sync | Yes | No | No |
| Price | 1,000 emails free, then a one-time purchase | Free | Free |
## Let Claude read your email
Exported emails are searchable over Exporter's local MCP server. [Set it up](https://exporter.dev/docs/mcp).
Connect Claude Code. Then ask: “Which subscriptions did I pay for this year, and what did each cost?” Claude reads the receipts as files.
```sh
claude mcp add --transport http exporter http://localhost:8744/mcp
```
## Related
- [Mail](https://exporter.dev/docs/mail): Kinds, accounts, folders and fixes
- [Messages](https://exporter.dev/messages): Every conversation as a file
- [MCP server](https://exporter.dev/docs/mcp): Connect Claude and other agents
---
human version: https://exporter.dev/mail
every page: https://exporter.dev/llms.txt
# How to export iMessages on a Mac
Exporter is a Mac app that writes every conversation as a Markdown file, photos included, kept in sync as messages arrive.
[Download for Mac](https://apps.apple.com/us/app/exporter-notes-to-markdown/id6741618455?mt=12)
## A group chat, as a file.
A group's file name carries its conversation id, so a new member never renames the file. [The Messages docs](https://exporter.dev/docs/messages#the-file) explain every line.
`Cabin crew-57.md`
```markdown
---
title: "Cabin crew"
id: "57"
created: 2025-11-02T19:40:03
modified: 2026-03-08T21:12:55
source_url: "sms://+14155550123"
participants: ["[[contacts/Anna Kowalski]]", "Ben Ortiz", "Me"]
is_group: true
message_count: 1204
service: "iMessage"
---
# Cabin crew
## Sunday, November 2, 2025
**[Ben Ortiz]** [open](sms://ben@example.com) (2025-11-02 19:40:03)
Who has the key this year?
^msg-2B9F6C1D8E4A
```
## What comes out
- A heading per day: Then one block per message: who sent it, when, and a link that opens the conversation in Messages.
- Replies as links: A reply links to the message it answers, inside the same file.
- Edits with their history: The current text, and every earlier version as a footnote.
- Reactions: On one line under the message they react to.
- Photos: Copied beside the conversation. iPhone HEIC photos are converted to JPEG so Obsidian and other editors can show them.
- People linked: With Contacts exported too, each participant links to their [contact card](https://exporter.dev/contacts), and each card lists its conversations.
## How it works
1. Connect Messages: A panel opens in `~/Library/Messages`: press Select This Folder. Exporter reads only that folder, with no Full Disk Access.
2. Pick conversations: People and Groups tabs, and a filter for what you have not read. Export all of them, or tick the ones you want.
3. It syncs: Press Sync. The first pass over a long history takes minutes; after that only conversations with something new are written again.
How it works: [Messages docs](https://exporter.dev/docs/messages) · Guides: [Back up Messages](https://exporter.dev/guides/messages/back-up-messages) · [Messages in Claude](https://exporter.dev/guides/messages/messages-in-claude) · [iMessages to ChatGPT](https://exporter.dev/guides/messages/imessages-to-chatgpt)
## Questions
### Do my messages leave my Mac?
No. Exporter reads the Messages database and writes the files on your Mac. No account, no server.
### What is free?
Your 50 most recent conversations export and keep syncing free. Unlocking Messages is its own one-time purchase in Exporter. After it, the next sync writes every conversation.
### Why is a photo missing?
Media that was never downloaded to this Mac cannot be copied, so the file lists it by name instead of embedding it.
### Can Claude read my conversations?
Yes. Exporter's local MCP server serves the exported conversations to Claude, and a search for a person's name finds your conversation with them. [Connect it](https://exporter.dev/docs/mcp).
### How do I export text messages from my iPhone?
Bring them to your Mac first: turn on Messages in iCloud on the iPhone and on the Mac, signed in with the same Apple Account, then connect Messages in Exporter. [The steps](#export-text-messages-from-your-iphone).
### Does it export SMS and RCS too?
Yes. Every conversation in Messages on your Mac is exported, and each message says whether it came as iMessage, SMS or RCS.
### Can Exporter save a conversation as a PDF?
No, it writes Markdown. For one conversation as a PDF, open it in Messages and choose File › Print.
### Is there a free way to export all my iMessages?
Exporter exports your 50 most recent conversations free, and keeps them in sync. The open source imessage-exporter writes all of them once, as HTML or text, from Terminal.
## Against the alternatives
Messages has no export of its own. These are the ways people get their conversations out.
| | Exporter | iMazing (iPhone backup) | imessage-exporter (GitHub) | Screenshots and copy |
|---|---|---|---|---|
| Every conversation at once | Yes | Yes | Yes | No |
| Format | Markdown with front matter | PDF, Excel or CSV | HTML or text | Images |
| Kept in sync as messages arrive | Yes | No | No | No |
| People linked to contact cards | Yes | No | No | No |
| Works without Terminal | Yes | Yes | No | Yes |
| Price | 50 conversations free, then a one-time purchase | Paid | Free | Free |
## Ask Claude about your conversations
Exporter's local MCP server serves your exported conversations. [Set it up](https://exporter.dev/docs/mcp).
Connect Claude Code. Then ask: “What did Anna and I agree about the trip?”
```sh
claude mcp add --transport http exporter http://localhost:8744/mcp
```
## Export text messages from your iPhone
Exporter reads Messages on your Mac. Messages in iCloud keeps the same conversations on your iPhone and your Mac, so once they are on the Mac, Exporter writes them all ([Apple's guide](https://support.apple.com/guide/icloud/set-up-messages-mm0de0d4528d/icloud)).
1. On your iPhone, go to Settings › your name › iCloud, tap See All, then Messages in iCloud, and turn on "Use on this iPhone".
2. On your Mac, open Messages, choose Messages › Settings, click iMessage, and select "Enable Messages in iCloud". Use the same Apple Account as on the iPhone.
3. For texts from people without iMessage, turn on Text Message Forwarding for your Mac in your iPhone's Messages settings ([Apple's guide](https://support.apple.com/102545)).
4. Wait for your conversations to appear in Messages on the Mac, which can take a while the first time, then connect Messages in Exporter.
## Related
- [Contacts](https://exporter.dev/contacts): Every contact card as a Markdown file
- [Back up Messages](https://exporter.dev/guides/messages/back-up-messages): Every conversation as a file, kept current
- [CLI](https://exporter.dev/docs/cli): Every command, flag and exit code
---
human version: https://exporter.dev/messages
every page: https://exporter.dev/llms.txt
# Export Apple Notes to Markdown
Each note becomes a Markdown file, with its folders, tags and attachments, kept in sync.
[Download for Mac](https://apps.apple.com/us/app/exporter-notes-to-markdown/id6741618455?mt=12)
## Your note, and the Markdown it becomes.
The file Exporter writes for this note: front matter first, then the note.
`Poster, first pass.md`
```markdown
---
title: "Poster, first pass"
id: "8D2F5A41"
created: 2026-03-14T09:12:40
modified: 2026-05-02T18:31:05
source_url: "notes://showNote?identifier=8D2F5A41"
cover: "[[attachments/Blue render.jpg]]"
---
# Poster, first pass
- [x] Pick the blue render
- [ ] Try a second type size
| size | paper |
| --- | --- |
| A2 | matte 200g |
| A3 | satin |
#print #studio
![[attachments/Blue render.jpg]]
```
## What comes out
Every field is listed in [the Apple Notes docs](https://exporter.dev/docs/notes#the-file).
- Folders as folders: Your Apple Notes folders and subfolders, mirrored on disk.
- Tags stay tags: Your #tags stay in the text, where Obsidian reads them as tags. Or sort the export into one folder per tag.
- Smart folders: Organize files by smart folder and each one you tick becomes a folder of its own on disk. The docs list the few whose search cannot be read.
- Attachments: Images, PDFs, scans and drawings, copied into an attachments folder beside the note and embedded where they were.
- Real dates: Created and modified times from Apple Notes, in the front matter.
- Deep links: Every file carries a `notes://` link that reopens the note in Apple Notes.
- Markdown or HTML: Markdown by default. HTML in the format menu on the Apple Notes card writes each note as [a web page](https://exporter.dev/docs/notes#markdown-and-html) instead, with its attachments in a folder next to it. One format at a time.
## How it works
1. Connect Apple Notes: Open Exporter: the welcome leads you to Apple Notes. A panel opens in the right folder: press Select This Folder.
2. Choose where the files go: A folder in Documents, or a folder of its own inside your Obsidian or Wander vault. Any other folder later, with Change… on the card.
3. Sync: Press Sync. After that each edit in Apple Notes is written to its file, with the window open or closed.
How it works: [Apple Notes docs](https://exporter.dev/docs/notes) · Guides: [Apple Notes to Obsidian](https://exporter.dev/guides/notes/apple-notes-to-obsidian) · [Back up Apple Notes](https://exporter.dev/guides/notes/back-up-apple-notes) · [Apple Notes in Claude](https://exporter.dev/guides/notes/apple-notes-in-claude) · [Apple Notes in Wander](https://exporter.dev/guides/notes/apple-notes-in-wander) · [Apple's Markdown export](https://exporter.dev/guides/notes/apple-notes-markdown-export)
## Questions
### Can you export all notes from Apple Notes?
Yes. Exporter exports every note at once, with its folders, tags, smart folders and attachments, and keeps the files in sync as you write. Apple Notes itself exports only the notes you select, once. Locked notes stay out until you remove the lock.
### Does it read the Apple Notes database directly?
Yes, read-only, so it cannot change your notes.
### Is anything uploaded?
No. Exporter reads your notes and writes the files on your Mac. No account, no server.
### Can I export straight into my Obsidian vault?
Yes, into a folder of its own inside the vault, so your own notes and Exporter's stay apart. Dates arrive as Obsidian date properties, and the export includes three bases. [Apple Notes to Obsidian, kept in sync](https://exporter.dev/guides/notes/apple-notes-to-obsidian).
### How is this different from Obsidian's free Importer?
Importer is free and copies Apple Notes into Obsidian once, which is enough if you are leaving Apple Notes. Exporter keeps the Markdown current while you keep using Apple Notes, in any folder, and serves it to your agent over MCP.
### What does it cost?
Your first 100 notes export and keep syncing free. Unlocking Apple Notes is a one-time purchase, [priced per country](https://exporter.dev/pricing).
## Against the alternatives
Apple Notes itself exports only the notes you select, once.
| | Exporter | Obsidian Importer | Apple's own export |
|---|---|---|---|
| Whole library in one go | Yes | Yes | Selected notes |
| Kept in sync after the first run | Yes | One-time | One-time |
| Any folder, not just an Obsidian vault | Yes | Obsidian only | Yes |
| Messages, Contacts, Screen Time too | Yes | No | No |
| Feeds your agent (MCP) | Yes | No | No |
| Price | First 100 notes free, then a one-time purchase | Free | Free |
## Give Claude your Apple Notes
Exporter runs a local MCP server, so Claude can search the notes you exported. [Set it up](https://exporter.dev/docs/mcp).
Connect Claude Code. Run this once, then ask Claude about your notes.
```sh
claude mcp add --transport http exporter http://localhost:8744/mcp
```
## Related
- [Apple Notes to Obsidian](https://exporter.dev/guides/notes/apple-notes-to-obsidian): A vault that follows Apple Notes
- [Apple Notes in Claude](https://exporter.dev/guides/notes/apple-notes-in-claude): Claude searches your notes, on your Mac
- [MCP server](https://exporter.dev/docs/mcp): Connect Claude and other agents
---
human version: https://exporter.dev/notes
every page: https://exporter.dev/llms.txt
# Export Notion to Markdown
One file per page and per database row on your Mac, in the folders Notion shows, kept in sync with your workspace.
[Download for Mac](https://apps.apple.com/us/app/exporter-notes-to-markdown/id6741618455?mt=12)
## A database row, as a file.
The front matter carries its id, dates, link and database, then the row's properties under their own names. Then the title and the row's page.
`Write the plan.md`
```markdown
---
title: "Write the plan"
id: "1f2e3d4c-5b6a-4789-8abc-def012345678"
created: 2026-10-01T08:00:00Z
modified: 2026-10-17T10:00:00Z
source_url: "https://www.notion.so/Write-the-plan-1f2e3d4c5b6a47898abcdef012345678"
parent: "Tasks"
Status: "In progress"
Due date: 2026-10-24
---
# Write the plan
Draft the Q4 plan and share it on Friday.
```
## What comes out
Your pages in the folders Notion shows them in: a page with pages under it gets a folder of its own beside its file.
- Pages as plain Markdown: Headings, lists, to-dos, quotes, code and tables. A callout is a quote with its icon, a toggle a details block.
- Databases as folders and a CSV: One file per row with its properties in the front matter, and the whole table as a CSV beside the folder.
- Images copied: Images and files Notion hosts are copied into attachments beside their page, because Notion's links to them expire.
- Links between pages: A link to another exported page becomes a relative link to its file, so it works in Obsidian and any editor.
- Within minutes: Notion tells Exporter's server about every edit, move and deletion, and the file on your Mac follows within minutes.
- Read only: Exporter asks Notion only to read and never changes a page or a database.
## How it works
1. Connect Notion: Sign in with Apple, then pick the pages Exporter may read on Notion's page in your browser and allow access.
2. Choose items: Pages and databases, all ticked. Untick what you don't want.
3. It syncs: Your pages arrive as Markdown, and every change after it within minutes.
How it works: [Notion docs](https://exporter.dev/docs/notion) · Guides: [Notion to Obsidian](https://exporter.dev/guides/notion/notion-to-obsidian) · [Back up Notion](https://exporter.dev/guides/notion/back-up-notion)
## Questions
### What does it cost?
The first 7 days are free. Then Exporter Cloud is a subscription in the App Store: Notion on its own, or All Cloud for Linear, Notion and every cloud source we add, monthly or yearly.
### Which pages sync?
The pages you share with Exporter on Notion's screen, and the pages and databases under them. To add a page later, open its ⋯ menu in Notion and add the exporter.dev connection.
### Why does Notion go through a server?
Notion tells a server the moment something changes, so the server keeps your files current and your Mac pulls them. Your Mac never holds the Notion token.
### Is my workspace stored anywhere?
The files are kept on Exporter's storage in Western Europe so your Mac can fetch them, and deleted 30 days after a plan ends. [Privacy](https://exporter.dev/privacy) has the details.
### Can I use the files in Obsidian or Claude?
Yes. They are plain Markdown with front matter: pick a folder inside your Obsidian vault, or point Claude Code at the folder.
### What happens when I stop paying?
Syncing stops and the files on your Mac stay. Subscribe again and it carries on.
## Against the alternatives
Notion exports a page or the whole workspace as a zip from its menus, once, by hand.
| | Exporter | Notion's own export | Copy and paste |
|---|---|---|---|
| Every page at once | Yes | Yes | No |
| Readable Markdown | Yes | Yes | By hand |
| Kept in sync | Yes | No | No |
| Price | 7 days free, then a subscription | Free | Free |
## Related
- [Notion](https://exporter.dev/docs/notion): Connect, files, sync and fixes
- [Notion guides](https://exporter.dev/guides/notion): Obsidian and backups
- [Pricing](https://exporter.dev/pricing): Free allowances, unlocks and Exporter Cloud
---
human version: https://exporter.dev/notion
every page: https://exporter.dev/llms.txt
# Export Reminders to Markdown
Each list becomes one Markdown file of checkbox lines, kept in sync as you tick things off.
[Download for Mac](https://apps.apple.com/us/app/exporter-notes-to-markdown/id6741618455?mt=12)
## A list, as a file.
Open reminders first, by due date. Subtasks sit under their parent. Finished ones move under a heading, so the file is the whole history of the list.
`groceries.md`
```markdown
---
title: "Groceries"
id: "8F2C1A3B-4D5E-6F70-8192-A3B4C5D6E7F8"
created: 2024-01-08T09:12:00
modified: 2026-09-14T18:40:12
source_url: "x-apple-reminderkit://REMCDCalendar/8F2C1A3B-4D5E-6F70-8192-A3B4C5D6E7F8"
shared: true
reminders: 4
completed: 1
owner: "Anna Kowalski"
---
- [ ] Coffee beans [due:: 2026-09-16] [priority:: high] [↗](x-apple-reminderkit://REMCDReminder/1) ^rem-1
- [ ] Weekend dinner [due:: 2026-09-20] [↗](x-apple-reminderkit://REMCDReminder/2) ^rem-2
- [ ] Salmon [↗](x-apple-reminderkit://REMCDReminder/3) ^rem-3
- [ ] Batteries [notes:: AA, for the kitchen scale] [↗](x-apple-reminderkit://REMCDReminder/4) ^rem-4
## Completed
- [x] Oat milk [↗](x-apple-reminderkit://REMCDReminder/5) ^rem-5
```
## What comes out
One file per list, named after the list. Two lists with the same name each get a short id suffix.
- A reminder per line: A checkbox, the title, then the fields Obsidian's Dataview reads: `due` (with the time when the reminder has one), `priority`, `flagged`, `notes`, `url`, `recurring`, and the reminder's hashtags.
- Sections: A list's sections become `##` headings, in the list's own order, with the reminders above them left at the top.
- Subtasks: Indented under their parent, the way Reminders shows them.
- Completed too: Finished reminders sit under a `Completed` heading, so a list file is its history, not just today's to-dos.
- Images: A photo on a reminder is copied into `attachments/` and embedded under its line.
- Shared lists: A shared list says so in the front matter and names its owner. The card's `shared` pill shows only those.
- Link back: Every line ends with a link that opens the reminder in Reminders, and a block id another note can point at.
## How it works
1. Connect Reminders: A panel opens in your Reminders folder: press Select This Folder. Exporter reads only that folder, with no permission prompt.
2. Pick lists: Every list is ticked. Untick one and its file goes on the next sync. Pills show every list, the shared ones, or the ones that changed last.
3. It syncs: Press Sync. Each list becomes `list-name.md`, and ticking a reminder off rewrites its file within a minute.
How it works: [Reminders docs](https://exporter.dev/docs/reminders) · Guides: [Reminders to Obsidian](https://exporter.dev/guides/reminders/reminders-to-obsidian) · [Reminders as text](https://exporter.dev/guides/reminders/reminders-as-text)
## Questions
### Can Obsidian's Tasks plugin read these?
The lines are standard Markdown checkboxes with Dataview inline fields, so Tasks, Dataview and plain search all read them. Exporter never writes back to Reminders.
### What is free?
Your first 100 reminders export and keep syncing free. Unlocking Reminders is a one-time purchase in Exporter.
### Is anything uploaded?
No. Exporter reads your lists and writes the files on your Mac. No account, no server.
## Against the alternatives
Reminders has no export of its own. Shortcuts can read reminders one at a time; Exporter keeps whole lists as files.
| | Exporter | Shortcuts | Copy and paste |
|---|---|---|---|
| Every list at once | Yes | Manual | No |
| Readable Markdown, one file per list | Yes | Manual | Manual |
| Due dates and priorities as fields | Yes | Manual | No |
| Completed history kept | Yes | No | No |
| Kept in sync as you tick things off | Yes | No | No |
| Price | 100 reminders free, then a one-time purchase | Free | Free |
## Let Claude read your lists
Exported lists are searchable over Exporter's local MCP server. [Set it up](https://exporter.dev/docs/mcp).
Connect Claude Code. Then ask: “What is due this week, and what did I finish in August?” Claude reads the lists as files.
```sh
claude mcp add --transport http exporter http://localhost:8744/mcp
```
## Related
- [Export Apple Notes to Markdown](https://exporter.dev/notes): Apple Notes as Markdown, kept in sync
- [Contacts](https://exporter.dev/contacts): Every contact card as a Markdown file
- [MCP server](https://exporter.dev/docs/mcp): Connect Claude and other agents
---
human version: https://exporter.dev/reminders
every page: https://exporter.dev/llms.txt
# Export Safari history and bookmarks
One file per day of history, per bookmark folder, per Reading List page and per device's tabs, kept in sync on your Mac.
[Download for Mac](https://apps.apple.com/us/app/exporter-notes-to-markdown/id6741618455?mt=12)
## A day of history, as a file.
The day's topics in the front matter, then a heading per hour and a line per visit, newest first, with the site's icon, Safari's topics for the page and Safari's own few lines of it.
`2026-10-20.md`
```markdown
---
title: "Safari History - 2026-10-20"
id: "2026-10-20"
created: 2026-10-20T00:00:00
modified: 2026-10-20T00:00:00
topics:
- "Lisbon"
- "Weather"
---
# Safari History - 2026-10-20
Total visits: 3
## 08:00 - 08:59
- **08:41:12** - ![[../icons/weather.example.net.png|16]] [Lisbon weather](https://weather.example.net/lisbon) [about:: Lisbon, Weather] ^sh-202610200
> Sunny all week, 24 degrees by the river.
```
## What comes out
Each kind Safari keeps in a folder of its own inside safari-export, ticked on the card's Kinds tab.
- History, a file a day: Every visit with its time and title, a heading per hour, every Safari profile in the same files. A day Safari forgets keeps its file.
- Bookmarks and the Reading List: A file per bookmark folder as Safari names them, and a file per Reading List page: when you saved it, whether you read it, Safari's preview.
- What Safari knows about a page: On macOS 27, Safari's own few lines of each page and its topics, the Wikidata entities it tags pages with, and each site's icon.
- Open tabs and Tab Groups: With Safari's data folder connected: this Mac's windows and pinned tabs, the tabs on your iPhone and iPad, and every Tab Group. Private windows are never read.
- And the rest: Recently Closed, your downloads a month at a time, kept after Safari forgets them, Top Sites, each site's settings, the Privacy Report and the pages you asked Safari to watch.
- Only on your Mac: Exporter reads Safari's files on your Mac and writes yours there. Nothing goes to a server. Page Text, off until you tick it, fetches what you kept from the web without your cookies.
## How it works
1. Connect Safari: Pick Safari's folder in the panel Exporter opens, so it may read your history and bookmarks.
2. Choose what syncs: Kinds, sites, bookmark folders, Reading List pages and tabs, all ticked. Untick what you don't want.
3. It syncs: Your files arrive as Markdown, and follow as you browse.
How it works: [Safari docs](https://exporter.dev/docs/safari) · Guides: [Keep Safari history](https://exporter.dev/guides/safari/keep-safari-history) · [Safari to Obsidian](https://exporter.dev/guides/safari/safari-to-obsidian)
## Questions
### What does it cost?
The newest 10 days of history are free, with your bookmarks and Reading List whole. Unlock Safari is one purchase for everything: all your history, tabs, Tab Groups and the rest.
### Which Mac does it need?
Any Mac Exporter runs on reads history and bookmarks. Safari's snippets of pages and its topics are on macOS 27.
### What about my open tabs?
Connect Safari's data folder beside Tabs on the card, a second folder Safari keeps for itself. Then this Mac's windows, your other devices' tabs and your Tab Groups are files too.
### Does anything leave my Mac?
No. Safari's files are read on your Mac and your files are written there. Only Page Text, if you tick it, fetches pages you kept from the web, from your Mac, without your cookies, and never your history.
### Can I use the files in Obsidian or Claude?
Yes. They are plain Markdown with front matter: pick a folder inside your Obsidian vault, or point Claude Code at the folder.
### Is private browsing exported?
No. Safari keeps no history for private windows, and Exporter never reads private tabs or private pinned tabs.
## Against the alternatives
Safari's File › Export Browsing Data to File writes your bookmarks as HTML and your history as JSON in a zip, once, by hand.
| | Exporter | Safari's own export | Copy and paste |
|---|---|---|---|
| History | Yes, a file a day | Once, as JSON | By hand |
| Bookmarks and Reading List | Yes | Once, as HTML | By hand |
| Open tabs and Tab Groups | Yes | No | By hand |
| Kept in sync | Yes | No | No |
| Price | 10 days free, then a one-time purchase | Free | Free |
## Related
- [Safari](https://exporter.dev/docs/safari): Connect, files, tabs and fixes
- [Safari guides](https://exporter.dev/guides/safari): History and Obsidian
- [Pricing](https://exporter.dev/pricing): Free allowances, unlocks and Exporter Cloud
---
human version: https://exporter.dev/safari
every page: https://exporter.dev/llms.txt
# Export Screen Time data
One Markdown file per day, kept after macOS deletes the history at about four weeks.
[Download for Mac](https://apps.apple.com/us/app/exporter-notes-to-markdown/id6741618455?mt=12)
## One day, as a file.
Totals are in the front matter. Apps used for under a minute are left out of the table.
`2026-09-01.md`
```markdown
---
title: "Screen Time 2026-09-01"
id: "2026-09-01"
created: 2026-09-01T00:00:00
modified: 2026-09-01T00:00:00
tags:
- "screen-time"
total_screen_time: "3h 51m"
apps_used: 4
domains_visited: 2
---
## App Usage
| App | Duration | Sessions |
|-----|----------|----------|
| Xcode | 2h 4m | 6 |
| Safari | 1h 21m | 11 |
| Messages | 26m | 9 |
## Web Usage
| Domain | Duration | Visits |
|--------|----------|--------|
| developer.apple.com | 38m | 9 |
| github.com | 21m | 7 |
## Notifications
| App | Count |
|-----|-------|
| Messages | 23 |
## Screen Sessions
Total screen on time: 4h 45m
| Start | End | Duration |
|-------|-----|----------|
| 08:52:10 | 12:31:44 | 3h 39m |
| 14:05:02 | 15:10:30 | 1h 5m |
```
## What comes out
One file per day, named by its date, plus a rolling `summary.md`.
- App time: Every app you used for a minute or more that day, with its time and number of sessions.
- Websites: Time and visits per domain.
- Notifications: How many each app sent you.
- Screen sessions: When the screen came on and went off, and the total time it was on.
- A summary: `summary.md` adds up top apps and daily totals over the days the latest sync read, about the last four weeks.
- Kept past four weeks: Exporter never deletes a day file, so the archive keeps growing after macOS drops the old days. The folder is the only copy of those days: back it up.
## How it works
1. Connect Screen Time: A panel opens in the Knowledge folder where macOS keeps Screen Time: press Select This Folder. Then choose where the files go.
2. Pick your days: Tick days in a list you can sort by busiest.
3. It syncs: Press Sync. Each later sync adds the days since the last one.
How it works: [Screen Time docs](https://exporter.dev/docs/screen-time) · Guides: [Screen Time history](https://exporter.dev/guides/screen-time/keep-screen-time-history)
## Questions
### Can I get Screen Time as a CSV?
Not from Apple: Screen Time only shows its charts in System Settings. Exporter's files are Markdown tables with the totals in YAML, which scripts, Dataview and spreadsheets can read.
### What is free?
The 10 newest days you ticked at your first sync. They stay the free ten, so later days need the unlock, a one-time purchase in Exporter.
### Is anything uploaded?
No. Exporter reads Screen Time and writes the files on your Mac. No account, no server.
## Ask Claude about your days
Exported days are files Exporter's local MCP server can list and read. [Set it up](https://exporter.dev/docs/mcp).
Connect Claude Code. Then ask: “How has my screen time changed since I deleted the news apps?” Claude reads the day files you exported.
```sh
claude mcp add --transport http exporter http://localhost:8744/mcp
```
## Related
- [Screen Time history](https://exporter.dev/guides/screen-time/keep-screen-time-history): Every day kept as a file
- [MCP server](https://exporter.dev/docs/mcp): Connect Claude and other agents
- [CLI](https://exporter.dev/docs/cli): Every command, flag and exit code
---
human version: https://exporter.dev/screen-time
every page: https://exporter.dev/llms.txt
# Export Voice Memos with transcripts
A note per recording beside its audio, with the transcript as text you can search, kept in sync on your Mac.
[Download for Mac](https://apps.apple.com/us/app/exporter-notes-to-markdown/id6741618455?mt=12)
## A recording, as a note.
The front matter says how long it is and who wrote the transcript, in which language and how sure the model was. Then the audio, and the transcript in paragraphs that start with their time.
`20260930 091500-6F3A1B2C.md`
```markdown
---
title: "Standup"
id: "20260930 091500-6F3A1B2C.m4a"
created: 2026-09-30T09:15:00
modified: 2026-09-30T09:16:12
duration: "00:01:05"
format: "m4a"
transcript: "this-mac"
transcript_language: "en_US"
transcript_confidence: 0.86
---
# Standup

- duration: 00:01:05
- size: 1.2 MB
- format: m4a
## Transcript
**00:00:00** Ship the new build on Thursday. Ana checks the store page first.
**00:00:34** Then the newsletter, and the release notes in every language.
```
## What comes out
Every recording in voice-memos-export: its note, its audio beside it, and index.md listing them all.
- A note per recording: The title Voice Memos shows, the day it was recorded, how long it is, and the audio embedded so it plays in Obsidian.
- The transcript as text: Voice Memos' own transcript when it made one, in paragraphs of about half a minute, each starting with its time.
- Heard on your Mac: A recording Voice Memos never transcribed is heard on your Mac by Apple's speech model, in the language you choose, newest first.
- Says how sure: Each note says whether Voice Memos or your Mac wrote the words, in which language, and how sure the model was.
- The audio, copied once: Each recording is copied beside its note, so the folder keeps your voice even after you delete it in Voice Memos.
- Only on your Mac: Recordings are read and heard on your Mac. Nothing is uploaded, and no account is needed.
## How it works
1. Connect Voice Memos: Pick Voice Memos' folder in the panel Exporter opens, so it may read your recordings.
2. Choose a language: Transcribe In, in Options…, starts on your Mac's language. Pick the one you speak in your recordings.
3. It syncs: Your recordings arrive as notes, and new ones follow as you record.
How it works: [Voice Memos docs](https://exporter.dev/docs/voice-memos) · Guides: [Voice Memos transcripts](https://exporter.dev/guides/voice-memos/voice-memos-transcripts) · [Voice Memos to Obsidian](https://exporter.dev/guides/voice-memos/voice-memos-to-obsidian)
## Questions
### What does it cost?
Your 20 newest recordings are free. Unlock Voice Memos is one purchase for every recording.
### Which Mac does it need?
macOS 27. On an older macOS the Voice Memos card says it needs macOS 27; every other app works as before.
### Which language are the transcripts in?
The one you pick under Transcribe In. A speech model hears one language and cannot tell which one you spoke, so Exporter never guesses. Change it and the recordings are heard again in the new language.
### What if the model is not sure?
Below a fair confidence nothing is written, so a note never carries words the model made up. The recording waits until you change the language.
### Does anything leave my Mac?
No. Apple's speech model runs on your Mac, and the recordings and notes stay in the folders you choose.
### Can I use the notes in Obsidian or Claude?
Yes. They are plain Markdown with front matter: pick a folder inside your Obsidian vault, where the audio plays in the note, or point Claude Code at the folder.
## Against the alternatives
Voice Memos shares one recording at a time as audio, and shows a transcript only in the app.
| | Exporter | Voice Memos' own share | Copy and paste |
|---|---|---|---|
| Every recording at once | Yes | No, one at a time | No |
| Transcript as text | Yes | No | By hand |
| Recordings Voice Memos never transcribed | Heard on your Mac | No | No |
| Kept in sync | Yes | No | No |
| Price | 20 recordings free, then a one-time purchase | Free | Free |
## Related
- [Voice Memos](https://exporter.dev/docs/voice-memos): Connect, transcripts, files and fixes
- [Voice Memos guides](https://exporter.dev/guides/voice-memos): Transcripts and Obsidian
- [Pricing](https://exporter.dev/pricing): Free allowances, unlocks and Exporter Cloud
---
human version: https://exporter.dev/voice-memos
every page: https://exporter.dev/llms.txt
# Export Apple Wallet Passes to Markdown
Wallet has no export of any kind. Each pass becomes one Markdown file on your Mac, kept in sync as gates and seats change.
[Download for Mac](https://apps.apple.com/us/app/exporter-notes-to-markdown/id6741618455?mt=12)
## A boarding pass, as a file.
The pass opens with where and when, then the fields exactly as the card draws them, the back under its own heading, and the barcode's own number.
`2026-09-17 united airlines SFO-EWR.md`
```markdown
---
title: "United Airlines SFO-EWR"
id: "dbLkCMjADxfk6C4IfKCjckBKlqc="
created: 2026-09-16T21:00:53
tags:
- "wallet"
- "flight"
kind: flight
date: 2026-09-17T18:20:00
date_source: relevant
organization: "United Airlines"
transit: air
expires: 2026-09-20T18:20:00
pass_type: "pass.united.UnitedMobileBoardingPass"
---
# United Airlines SFO-EWR
San Francisco (SFO) → Newark (EWR) · 17 Sep 2026
- FLIGHT: UA 274
- GATE: F19
- PASSENGER: PODVIAZNIKOV/ANTON
- SEAT: 34D
- BOARDS: 10:30 AM
## Back
- CONFIRMATION: GGCLMQ
- CABIN: United Economy
## Details
- departureTerminal: 3
- destinationGate: C83
- departureLocationTimeZone: America/Los_Angeles
## Barcode
- aztec · M1PODVIAZNIKOV/ANTON EGGCLMQ SFOEWRUA 0274 260Y034D0108
```
## What comes out
One file per pass, named by its date and what it is, in one folder. A store card with no date is named after itself.
- Every kind of pass: Boarding passes, train and bus tickets, event tickets, store cards and coupons. The front matter says which, so a vault can list only the flights.
- The fields as the card draws them: Header, primary, secondary and auxiliary fields in order, then the back of the card under its own heading. Nothing is renamed.
- The barcode's own number: The message a scanner reads, so a pass that is deleted is still identifiable. A binary barcode says so instead of writing control characters into the file.
- Passes in other languages: A pass that keeps its words in a `pass.strings` file is read in your Mac's language, so `EVENT_NAME` comes out as the event's name.
- Dates, even without one: Older tickets often carry no date at all. Those are filed under the day the pass was signed, and the file says so, so a wallet sorts from last week back to a conference in 2016.
- Where it was: A pass with coordinates carries them in the front matter, and the venue's name sits under a `Where` heading.
## How it works
1. Connect Wallet: A panel opens in your Passes folder: press Select This Folder. Exporter reads only that folder, with no permission prompt.
2. Pick passes: Every pass is ticked. Untick one and its file goes on the next sync. Pills show the flights, the events or the cards.
3. It syncs: Press Sync. Each pass becomes one file, and a gate or seat change rewrites that file within a minute.
How it works: [Wallet docs](https://exporter.dev/docs/wallet) · Guides: [Keep Wallet passes](https://exporter.dev/guides/wallet/keep-wallet-passes)
## Questions
### Does Wallet have an export of its own?
No. There is no share sheet, no file and no button: a screenshot is the only other way out, and it is not text.
### Are my cards and payments read?
No. Exporter reads the passes in your Wallet folder: boarding passes, tickets, store cards. Card numbers and payment history are not on the Mac at all.
### What is free?
Your 20 most recent passes export and keep syncing free. Unlocking Wallet is a one-time purchase in Exporter.
### Is anything uploaded?
No. Exporter reads your passes and writes the files on your Mac. No account, no server.
## Against the alternatives
Wallet is the only Apple app with no export at all, so the alternatives are a screenshot or retyping it.
| | Exporter | Screenshot | Retyping |
|---|---|---|---|
| Every pass at once | Yes | No | No |
| Readable Markdown, one file per pass | Yes | No | Manual |
| Searchable text | Yes | No | Manual |
| The barcode's number kept | Yes | No | Manual |
| Kept in sync when a gate changes | Yes | No | No |
| Price | 20 passes free, then a one-time purchase | Free | Free |
## Let Claude read your passes
Exported passes are searchable over Exporter's local MCP server. [Set it up](https://exporter.dev/docs/mcp).
Connect Claude Code. Then ask: “Which flights did I take last year, and what did the tickets cost?” Claude reads the passes as files.
```sh
claude mcp add --transport http exporter http://localhost:8744/mcp
```
## Related
- [Export Apple Notes to Markdown](https://exporter.dev/notes): Apple Notes as Markdown, kept in sync
- [Reminders](https://exporter.dev/reminders): Every list as a Markdown checklist
- [MCP server](https://exporter.dev/docs/mcp): Connect Claude and other agents
---
human version: https://exporter.dev/wallet
every page: https://exporter.dev/llms.txt
# Guides
One job per guide, by app; how each export works is in the [docs](https://exporter.dev/docs).
## Apple Notes
- [Apple Notes to Obsidian](https://exporter.dev/guides/notes/apple-notes-to-obsidian): A vault that follows Apple Notes
- [Back up Apple Notes](https://exporter.dev/guides/notes/back-up-apple-notes): A live mirror and dated snapshots
- [Apple Notes in Claude](https://exporter.dev/guides/notes/apple-notes-in-claude): Claude searches your notes, on your Mac
- [Apple Notes in Wander](https://exporter.dev/guides/notes/apple-notes-in-wander): Your export in our free editor
- [Apple's Markdown export](https://exporter.dev/guides/notes/apple-notes-markdown-export): Apple's export, and every note at once
## Messages
- [Back up Messages](https://exporter.dev/guides/messages/back-up-messages): Every conversation as a file, kept current
- [Messages in Claude](https://exporter.dev/guides/messages/messages-in-claude): Ask Claude about your conversations
- [iMessages to ChatGPT](https://exporter.dev/guides/messages/imessages-to-chatgpt): A conversation as a file ChatGPT reads
## Mail
- [Apple Mail in Claude](https://exporter.dev/guides/mail/email-in-claude): Claude reads your email, on your Mac
- [Save emails as files](https://exporter.dev/guides/mail/save-emails-as-files): One file per email, kept current
## Contacts
- [Contacts to Obsidian](https://exporter.dev/guides/contacts/contacts-to-obsidian): A note per person, fields as Properties
## Screen Time
- [Screen Time history](https://exporter.dev/guides/screen-time/keep-screen-time-history): Every day kept as a file
## Reminders
- [Reminders to Obsidian](https://exporter.dev/guides/reminders/reminders-to-obsidian): A checklist per list, fields for Dataview
- [Reminders as text](https://exporter.dev/guides/reminders/reminders-as-text): Each list as a checklist file
## Calendar
- [Keep your calendar](https://exporter.dev/guides/calendar/keep-your-calendar): A file per month, days as headings
## Bear
- [Bear to Obsidian](https://exporter.dev/guides/bear/bear-to-obsidian): Bear notes in your vault, a folder per tag
## Logseq
- [Logseq to Obsidian](https://exporter.dev/guides/logseq/logseq-to-obsidian): Your graph as an Obsidian-ready folder
## Documents
- [Documents in Claude](https://exporter.dev/guides/documents/documents-in-claude): A folder of documents Claude can read
- [Word to Obsidian](https://exporter.dev/guides/documents/word-to-markdown-for-obsidian): Your documents as notes in your vault
## Wallet
- [Keep Wallet passes](https://exporter.dev/guides/wallet/keep-wallet-passes): A file per pass, barcode kept
## Claude Code
- [Claude Code history](https://exporter.dev/guides/claude-code/keep-claude-code-sessions): A note per session, the log kept
## Linear
- [Linear to Obsidian](https://exporter.dev/guides/linear/linear-to-obsidian): Issues as notes in your vault
- [Linear in Claude Code](https://exporter.dev/guides/linear/linear-in-claude-code): Your workspace as files for the agent
## Notion
- [Notion to Obsidian](https://exporter.dev/guides/notion/notion-to-obsidian): Pages and databases as notes in your vault
- [Back up Notion](https://exporter.dev/guides/notion/back-up-notion): Your workspace as files, kept current
## Safari
- [Keep Safari history](https://exporter.dev/guides/safari/keep-safari-history): Every day of history as a file
- [Safari to Obsidian](https://exporter.dev/guides/safari/safari-to-obsidian): Bookmarks and Reading List in your vault
## Voice Memos
- [Voice Memos transcripts](https://exporter.dev/guides/voice-memos/voice-memos-transcripts): Every recording's words as a file
- [Voice Memos to Obsidian](https://exporter.dev/guides/voice-memos/voice-memos-to-obsidian): Recordings as notes in your vault
---
human version: https://exporter.dev/guides
every page: https://exporter.dev/llms.txt
# Bear guides
One job each; how the export works is in the [Bear docs](https://exporter.dev/docs/bear).
- [Bear to Obsidian](https://exporter.dev/guides/bear/bear-to-obsidian): Bear notes in your vault, a folder per tag
---
human version: https://exporter.dev/guides/bear
every page: https://exporter.dev/llms.txt
# Bear to Obsidian
Write in Bear and find every tagged note in your Obsidian vault.
## Steps
1. Make a folder for the export inside your vault, like `Vault/Bear`.
2. Press "Connect" beside Bear on Exporter's home, then "Open Bear Folder", and select the folder the panel opens in.
3. On "Choose Where the Files Go", pick "My Obsidian Vault", press "Use This Folder" and choose `Vault/Bear` in the panel. Leave the format on Markdown.
4. Tick the tags to export, or every tag.
5. Press "Sync Now". After that, edits in Bear are written to the vault while Exporter runs.
## What you get
```text
Vault/Bear/
recipes/
Sourdough.md
attachments/
work/
projects/
Poster.md
```
Each note lands in the folder of its first tag in alphabetical order, and a nested tag like `#work/projects` becomes subfolders. The file is Bear's own Markdown, exactly as Bear stores it, #tags included, with no front matter. Images and files are copied into `attachments/` beside the note, with the links rewritten to the copies. Two notes with the same title under the same first tag each get their own file, with a short id at the end of the name.
## Pitfalls
- A note with no tag goes to `_untagged/`; untick "untagged" in the tag list to leave those notes out. Encrypted notes and the trash are never exported.
- Give Bear a folder of its own, not the vault root, so your notes and Bear's stay apart. A "Full Resync" removes only the files Exporter wrote.
- The folder follows Bear: a note you delete, rename or retag loses its old file on the next sync.
For a one-time move, Bear's own export and Obsidian's Importer both work. The rest is in [the Bear docs](https://exporter.dev/docs/bear).
## Related
- [Bear](https://exporter.dev/docs/bear): Tag folders, attachments and fixes
- [Bear](https://exporter.dev/bear): Bear notes in a folder, free, no limit
- [Logseq to Obsidian](https://exporter.dev/guides/logseq/logseq-to-obsidian): Your graph as an Obsidian-ready folder
---
human version: https://exporter.dev/guides/bear/bear-to-obsidian
every page: https://exporter.dev/llms.txt
# Calendar guides
One job each; how the export works is in the [Calendar docs](https://exporter.dev/docs/calendar).
- [Keep your calendar](https://exporter.dev/guides/calendar/keep-your-calendar): A file per month, days as headings
---
human version: https://exporter.dev/guides/calendar
every page: https://exporter.dev/llms.txt
# Keep your calendar as Markdown
What you did in September, in a file you can read, search and keep.
## Steps
1. Connect Calendar. Press "Connect" beside Calendar on Exporter's home, then "Open Calendar Folder". The panel opens in Calendar's own folder: press "Select This Folder". macOS asks for no calendar access, because the events are read from that folder and not through EventKit.
2. Choose how far back. The "reads" row on the card: this year, 2 years, 5 years or all. Start with this year if you want the first sync small.
3. Pick calendars. They are grouped by account, the way Calendar's sidebar groups them. Untick an account and every calendar in it stays out.
4. Press "Sync Now". Each month becomes one file: `2026-09.md`, `2026-10.md`.
## What you get
One file per month, with a heading per day and one line per event: the time, what it is, the calendar it came from and where it is. All-day events come first in a day and say "all day" rather than gaining a midnight. A repeating event is on every day it happens, because Exporter reads the occurrences Calendar keeps for its own views. The month's front matter says how many events it holds and which calendars they came from, so a vault can filter on them, and a line carries `repeats::`, `join::` and `with::` for a query to read.
## Pitfalls
- Scheduled reminders show up in Calendar as a calendar of their own, and they are already in the reminders export. Untick the "Reminders" account on the card.
- Calendar keeps about two years of occurrences for its own views. "all" means everything this Mac has, which on most Macs is those two years.
- Your first 100 events are free. The rest need the one-time unlock.
## Related
- [Calendar](https://exporter.dev/docs/calendar): Month files, calendars and fixes
- [Calendar](https://exporter.dev/calendar): Every month as a Markdown file
- [MCP server](https://exporter.dev/docs/mcp): Connect Claude and other agents
---
human version: https://exporter.dev/guides/calendar/keep-your-calendar
every page: https://exporter.dev/llms.txt
# Claude Code guides
One job each; how the export works is in the [Claude Code docs](https://exporter.dev/docs/claude-code).
- [Claude Code history](https://exporter.dev/guides/claude-code/keep-claude-code-sessions): A note per session, the log kept
---
human version: https://exporter.dev/guides/claude-code
every page: https://exporter.dev/llms.txt
# Keep every Claude Code session
Every session as a note you can read and link, the original kept.
## Steps
1. Connect Claude Code. Press "Connect" beside Claude Code on Exporter's home, then "Open Claude Code Folder". The panel opens in your `.claude` folder with hidden files shown: press "Select This Folder". Exporter reads the `projects` folder inside it and nothing else.
2. Pick where the notes go: choose a folder on the next page and press "Use This Folder", or later "Change…" beside "Saves To" on the card. A folder inside a vault is used as it is; a folder right in your home gets a `claude-code-sessions-export` folder inside it.
3. Choose the format. On the "Saves To" line pick markdown, the original, or both. Both is the default: the note to read, the log to restore.
4. Press "Sync Now". Every session becomes a note under a folder per project, named by its date, time and title. A session that is running right now rewrites its note as you go.
5. Find one later. The search field on the card matches a title, a first prompt or a project; the "running" pill shows what is live, "busiest" the longest sessions.
## What you get
One note per session: front matter with the project, the branch, the model, the times, the counts and the files the session touched, then a paragraph per turn with the time and a block id. Tool calls are short fences with what they ran, edits are diff fences, pasted images are files beside the note. Thinking, tool results and the harness's own notices are left out, so the note reads like the conversation did. The original JSONL log sits under `originals/`, byte for byte. Copy it back into `~/.claude/projects` and `claude --resume` finds the session again, long after Claude Code has purged it.
## Pitfalls
- Sessions hold what you pasted into them, tokens and terminal output included. Export into a folder you trust, or one that does not sync to a shared vault.
- Your 50 most recent sessions are free. Older ones need the one-time unlock, and a session Claude Code deleted keeps its files either way.
- A subagent's log is not a session of its own; it folds into its parent. If a session looks short, its work may have run in subagents.
## Related
- [Claude Code](https://exporter.dev/docs/claude-code): Session notes, originals and fixes
- [Apple Notes in Claude](https://exporter.dev/guides/notes/apple-notes-in-claude): Claude searches your notes, on your Mac
- [Claude Code](https://exporter.dev/claude-code): Every session as a note, the original kept
---
human version: https://exporter.dev/guides/claude-code/keep-claude-code-sessions
every page: https://exporter.dev/llms.txt
# Contacts guides
One job each; how the export works is in the [Contacts docs](https://exporter.dev/docs/contacts).
- [Contacts to Obsidian](https://exporter.dev/guides/contacts/contacts-to-obsidian): A note per person, fields as Properties
---
human version: https://exporter.dev/guides/contacts
every page: https://exporter.dev/llms.txt
# Contacts as people notes in Obsidian
A note per person in your vault, every field a Property.
## Steps
1. Make a folder for people inside your vault, like `Vault/People`, not the vault itself.
2. Press "Connect" beside Contacts on Exporter's home, then "Open Contacts Folder". The panel opens in your AddressBook folder: press "Select This Folder".
3. On "Choose Where the Files Go", pick "My Obsidian Vault", press "Use This Folder" and choose `Vault/People` in the panel.
4. Pick the layout in "Organize" on the card: one folder, by group (`groups//`) or by company (`companies//`). Tick the cards you want.
5. Press "Sync Now". An edited card rewrites its note while Exporter runs.
## What you get
```text
Vault/People/
Anna Kowalski.md
Ben Ortiz.md
```
Each note's front matter holds what the card has, as values and lists Obsidian's Properties panel shows:
```yaml
organization: "Northwind Studio"
job_title: "Art director"
birthday: 1990-12-10
phones:
- "+1 415 555 0123 (mobile)"
groups:
- "Studio"
```
Export Messages into the same vault too, and each person's note lists their conversations while each conversation links its people.
## Pitfalls
- Give people a folder of their own, so their notes and yours stay apart. A "Full Resync" removes only the files Exporter wrote.
- Edits made in Obsidian are not sent back to Contacts, and the next write of that card replaces them. Add your own notes about a person in a separate note.
- Changing "Organize" moves the files on the next sync. On the free allowance you get your first 100 ticked cards.
Every field, with its key, is in [the Contacts docs](https://exporter.dev/docs/contacts).
## Related
- [Contacts](https://exporter.dev/docs/contacts): Layouts, every field and fixes
- [Apple Notes to Obsidian](https://exporter.dev/guides/notes/apple-notes-to-obsidian): A vault that follows Apple Notes
- [Contacts](https://exporter.dev/contacts): Every contact card as a Markdown file
---
human version: https://exporter.dev/guides/contacts/contacts-to-obsidian
every page: https://exporter.dev/llms.txt
# Documents guides
One job each; how the export works is in the [Documents docs](https://exporter.dev/docs/documents).
- [Documents in Claude](https://exporter.dev/guides/documents/documents-in-claude): A folder of documents Claude can read
- [Word to Obsidian](https://exporter.dev/guides/documents/word-to-markdown-for-obsidian): Your documents as notes in your vault
---
human version: https://exporter.dev/guides/documents
every page: https://exporter.dev/llms.txt
# Word, PDF and slides to Markdown for Claude
Convert a folder of documents to Markdown and hand them to Claude.
## Steps
1. Press "Connect" beside Documents on Exporter's home, then "Choose Documents Folder", and choose the folder your documents are in; subfolders are included.
2. Choose where the Markdown goes and press "Use This Folder". For a separate folder beside your other exports, like `~/Documents/converted`, press "Change…" beside "Saves To" on the card.
3. Keep "Markdown" ticked on the `format` row and press "Sync Now". Scanned PDF pages are read by Apple's text recognition on your Mac.
4. On the MCP Server card press "Start", then connect Claude Code:
```sh
claude mcp add --transport http exporter http://localhost:8744/mcp
```
5. Ask Claude to list and read the documents: "Summarize the contracts in Work."
## What you get
```text
~/Documents/converted/
Work/
Quarterly report.md
Pitch deck.md
```
The same folder shape as your documents, each file with a short front matter (`title`, `source`, `format`, `pages`, `scanned`, `modified`), and converted again when the document changes. `search` ranks Apple Notes, Contacts and Messages, so Claude reaches documents with `list`, `get_recent` and `read`.
## Pitfalls
- The export folder cannot be the documents folder or a folder inside it, and the documents folder cannot sit inside the export folder: the app does not let you pick either.
- Pages, Numbers and Keynote files are not read: export them to Word, PowerPoint, Excel or PDF first.
- On the free allowance your 10 most recently modified documents convert. A red triangle on a row gives the reason one failed.
The file types and fields are in [the Documents docs](https://exporter.dev/docs/documents), the tools in [the MCP server docs](https://exporter.dev/docs/mcp).
## Related
- [Documents](https://exporter.dev/docs/documents): File types, scans, fields and fixes
- [MCP server](https://exporter.dev/docs/mcp): Connect Claude and other agents
- [Documents](https://exporter.dev/documents): Word, slides, sheets and PDFs to Markdown
---
human version: https://exporter.dev/guides/documents/documents-in-claude
every page: https://exporter.dev/llms.txt
# Convert Word to Markdown for Obsidian
Word, PowerPoint, Excel and PDF files as Markdown notes in your vault, converted on your Mac.
## Steps
1. Press "Connect" beside Documents on Exporter's home, then "Choose Documents Folder", and choose the folder your Word files are in. Subfolders are included.
2. Choose a folder inside your vault for the Markdown, like `Vault/Documents`, and press "Use This Folder". It cannot be the documents folder or sit inside it.
3. Keep "Markdown" ticked on the `format` row.
4. Press "Sync Now". Each document becomes a note, in the same folder shape as your documents.
5. Open the vault in Obsidian. While Exporter runs, a document you save is converted again a few seconds later.
## What you get
```text
Vault/Documents/
Work/
Quarterly report.md
Pitch deck.md
```
Each note starts with front matter that Obsidian shows as properties: `title`, `source` (the document's path), `format`, `modified`, and `pages` for a PDF. Word, PowerPoint, Excel, EPUB and PDF files are read. Scanned PDF pages are read by Apple's text recognition on your Mac, and nothing is uploaded.
## Pitfalls
- Pages, Numbers and Keynote files are not read. Export them to Word, PowerPoint, Excel or PDF first.
- Your 10 most recently modified documents convert free. The one-time unlock converts the rest.
- A password-protected or damaged document gets a red triangle on its row, with the reason.
The file types and fields are in [the Documents docs](https://exporter.dev/docs/documents).
## Related
- [Documents](https://exporter.dev/docs/documents): File types, scans, fields and fixes
- [Documents in Claude](https://exporter.dev/guides/documents/documents-in-claude): A folder of documents Claude can read
- [Documents](https://exporter.dev/documents): Word, slides, sheets and PDFs to Markdown
---
human version: https://exporter.dev/guides/documents/word-to-markdown-for-obsidian
every page: https://exporter.dev/llms.txt
# Linear guides
One job each; how the export works is in the [Linear docs](https://exporter.dev/docs/linear).
- [Linear to Obsidian](https://exporter.dev/guides/linear/linear-to-obsidian): Issues as notes in your vault
- [Linear in Claude Code](https://exporter.dev/guides/linear/linear-in-claude-code): Your workspace as files for the agent
---
human version: https://exporter.dev/guides/linear
every page: https://exporter.dev/llms.txt
# Linear in Claude Code
Claude Code reads your issues and their comments as files, and Linear's token never leaves the server.
## Steps
1. Connect Linear in Exporter: press "Connect" under Cloud, sign in with Apple and press "Authorize" on Linear's page.
2. Choose a folder like `~/Documents/linear` and press "Sync Now".
3. In your project, run `claude --add-dir ~/Documents/linear/linear-export` so Claude Code may read the folder.
4. Ask: "Read the issues assigned to ana in Northwind and list what is blocked, with the comment that says why."
## What you get
Claude Code reads each issue as one file: the front matter for the state, priority, assignee, labels and project, then the description and the whole comment thread. It can search the folder with its own tools, open the issues that match and quote them, and the files are current within a minute of a change in Linear.
```text
~/Documents/linear/linear-export/
Northwind/NW-142 Invite flow.md
```
The agent never sees a Linear token: Exporter's server holds it, and your Mac only downloads files.
## Pitfalls
- The files are a copy: Claude Code can read them, not change Linear. Ask it to draft a comment, then post it yourself.
- Only what is ticked is there. An archived issue has no file.
- A large workspace takes a few minutes for its first sync. Ask when the card says synced.
Every field is in [the Linear docs](https://exporter.dev/docs/linear).
## Related
- [Linear](https://exporter.dev/docs/linear): Connect, files, sync and fixes
- [Linear to Obsidian](https://exporter.dev/guides/linear/linear-to-obsidian): Issues as notes in your vault
- [Linear](https://exporter.dev/linear): Issues, projects and docs as files
---
human version: https://exporter.dev/guides/linear/linear-in-claude-code
every page: https://exporter.dev/llms.txt
# Keep Linear issues in Obsidian
Your workspace as notes in your vault, with Linear's fields as properties.
## Steps
1. Press "Connect" beside Linear under Cloud on Exporter's home, sign in with Apple, and press "Authorize" on Linear's page in your browser.
2. Choose a folder inside your vault, like `~/Documents/Vault/Linear`, and press "Use This Folder". A folder inside a vault is used as it is.
3. Untick what you don't want on the pick page: issues, projects or documents.
4. Press "Sync Now". From then on, a change in Linear reaches the note within a minute.
## What you get
```text
Vault/Linear/
Northwind/
NW-142 Invite flow.md
Projects/
Q4 launch.md
Documents/
Q4 launch/
Launch plan.md
```
Obsidian shows the front matter as properties: the state, priority, assignee, labels, project and dates. Filter by them in a base or a query, link an issue from a meeting note with its name, and search the comments with the rest of your vault. The `source_url` property opens the issue in Linear.
## Pitfalls
- The notes are read only in effect: an edit in Obsidian is replaced at the next change in Linear. Write your own notes beside them, not in them.
- An issue you archive or delete in Linear loses its note. Keep what must stay in a note of your own.
- The first 7 days are free; then Exporter Cloud is a subscription, and when it ends the notes stay where they are.
Every field is in [the Linear docs](https://exporter.dev/docs/linear).
## Related
- [Linear](https://exporter.dev/docs/linear): Connect, files, sync and fixes
- [Linear in Claude Code](https://exporter.dev/guides/linear/linear-in-claude-code): Your workspace as files for the agent
- [Linear](https://exporter.dev/linear): Issues, projects and docs as files
---
human version: https://exporter.dev/guides/linear/linear-to-obsidian
every page: https://exporter.dev/llms.txt
# Logseq guides
One job each; how the export works is in the [Logseq docs](https://exporter.dev/docs/logseq).
- [Logseq to Obsidian](https://exporter.dev/guides/logseq/logseq-to-obsidian): Your graph as an Obsidian-ready folder
---
human version: https://exporter.dev/guides/logseq
every page: https://exporter.dev/llms.txt
# Logseq to Obsidian
Write in Logseq and read the graph in Obsidian, tasks and all.
Moving from Logseq to Obsidian is mostly about what Logseq keeps in its own syntax: page properties, namespaces, journals and task words like `TODO` and `DONE`. Obsidian reads plain Markdown, so those need translating, and doing it by hand page by page is where migrations stall. Exporter reads your graph and writes an Obsidian-ready folder, free, then keeps it in step while you write in Logseq, so you can switch at your own pace instead of on one weekend.
| In Logseq | In Obsidian after the export |
|---|---|
| journals | daily notes, one file per day in `journals/` |
| a namespace like `projects/poster` | a folder, so `[[projects/poster]]` still resolves |
| page properties, tags and aliases | front matter |
| `TODO`, `LATER`, `NOW`, `DOING`, `WAITING` | `- [ ]` |
| `DONE`, `CANCELED` | `- [x]` |
| the outline | an outline, nested lists as they were |
## Steps
1. Make a folder for the export inside your vault, like `Vault/Logseq`.
2. Press "Connect" beside Logseq on Exporter's home, then "Open Logseq Graph Folder", and select your graph's own folder, the one that holds `db.sqlite` or `pages/`.
3. On "Choose Where the Files Go", pick "My Obsidian Vault", press "Use This Folder" and choose `Vault/Logseq` in the panel.
4. Press "Sync Now". Every page and journal is written, and your edits in Logseq follow while Exporter runs.
## What you get
```text
Vault/Logseq/
journals/
2026-09-01.md
pages/
projects/
poster.md
bases/
```
Journals are ready for Obsidian's daily notes, and a namespace like `projects/poster` becomes a folder, so `[[projects/poster]]` keeps resolving. Page properties, tags and aliases become front matter, with a `logseq://` link back to the page. The outline stays an outline, and tasks become checkboxes:
```markdown
- Poster for the spring show
- [x] Pick the blue render
- [ ] Try a second type size
```
`TODO`, `LATER`, `NOW`, `DOING` and `WAITING` become `- [ ]`; `DONE` and `CANCELED` become `- [x]`. `bases/` holds three views for Obsidian's Bases.
## Pitfalls
- One graph at a time. To switch, press "Disconnect", connect the other graph, then "Full Resync" so the first graph's files leave.
- Give Logseq a folder of its own, not the vault root, so your notes and the graph's stay apart. A "Full Resync" removes only the files Exporter wrote, and a renamed or deleted page loses its old file on the next sync.
Logseq exports free, with no limit. Every field is in [the Logseq docs](https://exporter.dev/docs/logseq).
## Related
- [Logseq](https://exporter.dev/docs/logseq): Pages, journals, fields and fixes
- [Logseq](https://exporter.dev/logseq): Logseq pages and journals as Markdown
- [Bear to Obsidian](https://exporter.dev/guides/bear/bear-to-obsidian): Bear notes in your vault, a folder per tag
---
human version: https://exporter.dev/guides/logseq/logseq-to-obsidian
every page: https://exporter.dev/llms.txt
# Mail guides
One job each; how the export works is in the [Mail docs](https://exporter.dev/docs/mail).
- [Apple Mail in Claude](https://exporter.dev/guides/mail/email-in-claude): Claude reads your email, on your Mac
- [Save emails as files](https://exporter.dev/guides/mail/save-emails-as-files): One file per email, kept current
---
human version: https://exporter.dev/guides/mail
every page: https://exporter.dev/llms.txt
# Use Apple Mail in Claude
Ask Claude about your receipts, threads and plans, served from your own Mac.
Claude cannot open Apple Mail, and pasting emails in one by one does not scale past a few. Exporter writes every email Mail keeps on your Mac as a Markdown file and serves those files to Claude over a local MCP server, so Claude can search a year of receipts or a long thread and answer from them. The server runs on your Mac; your mailbox is never uploaded to it.
## Steps
1. Connect Mail: press "Connect" beside Mail (under "More Apps"), then "Open Mail Folder", and select `~/Library/Mail` in the panel. Choose where the files go and press "Use This Folder".
2. On "Choose Emails", keep the kinds you want Claude to read. Transactions holds receipts and orders; Updates and Promotions start unticked. Press "Sync".
3. On the MCP Server card, press "Start". The card shows `localhost:8744`.
4. Connect Claude Code (add `--scope user` to have it in every project):
```sh
claude mcp add --transport http exporter http://localhost:8744/mcp
```
5. Ask: "Which subscriptions did I pay for this year, and what did each cost?", or "Summarize what the contractor and I agreed by email in September."
Claude Desktop, Cursor and VS Code connect from the buttons on the same card.
## What you get
- `search` finds emails by their words across every export, and `read` returns an email's Markdown with its sender, recipients, account and kind in the front matter
- new mail becomes a file on its own while Exporter runs, so Claude reads today's email too
- the server listens on 127.0.0.1 only: nothing outside your Mac can reach it
## Pitfalls
- Claude sees what you exported: on the free allowance, your newest 1,000 emails. "Unlock Mail" adds the rest.
- Attachments stay in Mail; Claude reads the email's text and links. What a tool returns goes to the model, like anything you paste.
The tools and every client are in [the MCP server docs](https://exporter.dev/docs/mcp), the files in [the Mail docs](https://exporter.dev/docs/mail).
## Related
- [Mail](https://exporter.dev/docs/mail): Kinds, accounts, folders and fixes
- [MCP server](https://exporter.dev/docs/mcp): Connect Claude and other agents
- [Apple Notes in Claude](https://exporter.dev/guides/notes/apple-notes-in-claude): Claude searches your notes, on your Mac
---
human version: https://exporter.dev/guides/mail/email-in-claude
every page: https://exporter.dev/llms.txt
# Save every email as a file
Every email as a Markdown file you can open without Mail, in the folders you choose.
## Steps
1. Press "Connect" beside Mail on Exporter's home (under "More Apps" until you connect it), then "Open Mail Folder", and select `~/Library/Mail` itself.
2. Choose where the files go, like `~/Documents/mail`, and press "Use This Folder".
3. Pick the emails. An email syncs when both tabs tick it: on Kinds, Updates and Promotions start unticked; on Accounts, Drafts and Trash do.
4. Choose the folders with Organize in "Options…" on the card: By Date, By Account or By Kind.
5. Press "Sync Now". While Exporter runs, new mail becomes files on its own.
## What you get
```text
~/Documents/mail/
2026/09/
2026-09-28 Your order has shipped 491560.md
```
One file per email, named by its day, its subject and a number. The front matter carries `from`, `to`, the mailbox, `read`, `flagged`, the account and Mail's own kind, with a link that opens the email in Mail. Then the subject and the body as Markdown, with its headings, lists, tables and links.
For dated copies, install the command line from its card, grant a folder like `~/Backups` under "Export Destinations", and run `exporter export --source mail --dest ~/Backups/mail-$(date +%F)`.
## Pitfalls
- Attachments stay in Mail. The file holds the email's text.
- Deleted mail, Spam and Junk never sync. An email whose body Mail never downloaded says so in its file: open it in Mail once and the next sync writes the body.
- Your newest 1,000 emails are free. "Unlock Mail" syncs the rest of what is ticked.
Every field is in [the Mail docs](https://exporter.dev/docs/mail).
## Related
- [Mail](https://exporter.dev/docs/mail): Kinds, accounts, folders and fixes
- [Apple Mail in Claude](https://exporter.dev/guides/mail/email-in-claude): Claude reads your email, on your Mac
- [Mail](https://exporter.dev/mail): Every email as a Markdown file
---
human version: https://exporter.dev/guides/mail/save-emails-as-files
every page: https://exporter.dev/llms.txt
# Messages guides
One job each; how the export works is in the [Messages docs](https://exporter.dev/docs/messages).
- [Back up Messages](https://exporter.dev/guides/messages/back-up-messages): Every conversation as a file, kept current
- [Messages in Claude](https://exporter.dev/guides/messages/messages-in-claude): Ask Claude about your conversations
- [iMessages to ChatGPT](https://exporter.dev/guides/messages/imessages-to-chatgpt): A conversation as a file ChatGPT reads
---
human version: https://exporter.dev/guides/messages
every page: https://exporter.dev/llms.txt
# Back up your Messages
Every conversation as a Markdown file, photos included, kept current.
## Steps
1. Press "Connect" beside Messages on Exporter's home, then "Open Messages Folder". The panel opens in `~/Library/Messages`: press "Select This Folder".
2. Choose where the files go and press "Use This Folder". For a folder like `~/Documents/messages`, press "Change…" beside "Saves To" on the card. Leave every conversation ticked, or tick the ones you want on People and Groups.
3. Wait for the first pass over your history ("Sync Now" stays greyed out until it finishes), then press "Sync Now".
4. After you unlock Messages, the next sync writes every conversation, the older ones included.
5. Optional, for dated copies: install the command line from its card, grant `~/Backups` under "Export Destinations", and run `exporter export --source messages --dest ~/Backups/messages-$(date +%F)`.
## What you get
```text
~/Documents/messages/
Anna Kowalski.md
Cabin crew-57.md
attachments/
```
One file per conversation, a heading per day, replies linked to the message they answer, edits with their earlier versions as footnotes, reactions under each message. Photos, video and audio are copied into `attachments/`, and iPhone HEIC photos are converted to JPEG.
## Pitfalls
- On the free allowance the export holds your 50 most recent conversations among the ones you ticked.
- Media that was never downloaded to this Mac is named in the file instead of copied. Open the conversation in Messages so it downloads, then sync again.
- The folder follows Messages: a conversation you delete there leaves the export on the next sync, and Exporter never writes anything back into Messages. Dated copies keep what the mirror drops.
Every way to [export iMessages](https://exporter.dev/messages), the iPhone included, is compared on the Messages page. Every field in a conversation file is in [the Messages docs](https://exporter.dev/docs/messages), and the `export` flags in [the command line reference](https://exporter.dev/docs/cli#export).
## Related
- [Messages](https://exporter.dev/docs/messages): Conversations, media, fields and fixes
- [Messages in Claude](https://exporter.dev/guides/messages/messages-in-claude): Ask Claude about your conversations
- [Messages](https://exporter.dev/messages): Every conversation as a file
---
human version: https://exporter.dev/guides/messages/back-up-messages
every page: https://exporter.dev/llms.txt
# Export iMessages to ChatGPT
Each conversation as a plain text file you can attach in ChatGPT or any other assistant.
## Steps
1. Press "Connect" beside Messages on Exporter's home, then "Open Messages Folder". The panel opens in `~/Library/Messages`: press "Select This Folder".
2. Choose where the files go, like `~/Documents/messages`, and press "Use This Folder".
3. Wait for the first pass over your history, then press "Sync Now". Each conversation becomes one file, named after the people in it.
4. In ChatGPT, attach the conversation's file with the + button, or add it to a project.
5. Ask about it: "What did we agree about the flat?" or "List every date Anna mentioned."
## What you get
One Markdown file per conversation: a heading per day, then each message with who sent it and when. A reply links to the message it answers, an edited message keeps its earlier versions as footnotes, and reactions sit under the message. Photos are copied into `attachments/` beside the file.
Markdown is plain text, so ChatGPT, Claude or any other assistant reads the file as it is. Exporter rewrites the file as new messages arrive; ChatGPT keeps the copy you attached, so attach it again for the latest.
## Pitfalls
- Attaching a file sends that file to OpenAI. The export folder itself stays on your Mac.
- For questions across every conversation, attaching files one by one gets slow. [Messages in Claude](https://exporter.dev/guides/messages/messages-in-claude) lets Claude search them all through Exporter's MCP server.
- Your 50 most recent conversations are free. Older ones need the one-time unlock.
The file, field by field, is in [the Messages docs](https://exporter.dev/docs/messages), and every way to [export iMessages](https://exporter.dev/messages) is compared on the Messages page.
## Related
- [Messages](https://exporter.dev/docs/messages): Conversations, media, fields and fixes
- [Messages in Claude](https://exporter.dev/guides/messages/messages-in-claude): Ask Claude about your conversations
- [Messages](https://exporter.dev/messages): Every conversation as a file
---
human version: https://exporter.dev/guides/messages/imessages-to-chatgpt
every page: https://exporter.dev/llms.txt
# Search your Messages with Claude
Ask Claude what was said and agreed, served from your own Mac.
## Steps
1. Export Messages into a folder next to your other export folders, like `~/Documents/messages` beside `~/Documents/notes`, and press "Sync Now" once the first pass finishes.
2. On the MCP Server card, press "Start".
3. Connect Claude Code:
```sh
claude mcp add --transport http exporter http://localhost:8744/mcp
```
4. Ask: "What did Anna and I agree about the trip?" A person's name finds your conversation with them.
## What you get
- `search` ranks Messages, Apple Notes and Contacts over the app's index, so one question can reach a conversation and a note
- `read` returns a whole conversation as Markdown, a heading per day
- with Contacts exported too, Claude can answer "When is Anna's birthday, and when did we last talk?" from the card and the conversation it links to
## Pitfalls
- The server serves the export folders in the same parent folder as the Apple Notes one (without one, the first export folder it finds). Keep them side by side, then press "Stop" and "Start" on the card after any change.
- On the free allowance Claude sees your 50 most recent conversations. After unlocking, the next sync writes every conversation.
- What a tool returns becomes part of your conversation with Claude and goes to its model, like anything you paste.
Connecting other clients, and the six tools, are in [the MCP server docs](https://exporter.dev/docs/mcp).
## Related
- [MCP server](https://exporter.dev/docs/mcp): Connect Claude and other agents
- [Messages](https://exporter.dev/docs/messages): Conversations, media, fields and fixes
- [Apple Notes in Claude](https://exporter.dev/guides/notes/apple-notes-in-claude): Claude searches your notes, on your Mac
---
human version: https://exporter.dev/guides/messages/messages-in-claude
every page: https://exporter.dev/llms.txt
# Apple Notes guides
One job each; how the export works is in the [Apple Notes docs](https://exporter.dev/docs/notes).
- [Apple Notes to Obsidian](https://exporter.dev/guides/notes/apple-notes-to-obsidian): A vault that follows Apple Notes
- [Back up Apple Notes](https://exporter.dev/guides/notes/back-up-apple-notes): A live mirror and dated snapshots
- [Apple Notes in Claude](https://exporter.dev/guides/notes/apple-notes-in-claude): Claude searches your notes, on your Mac
- [Apple Notes in Wander](https://exporter.dev/guides/notes/apple-notes-in-wander): Your export in our free editor
- [Apple's Markdown export](https://exporter.dev/guides/notes/apple-notes-markdown-export): Apple's export, and every note at once
---
human version: https://exporter.dev/guides/notes
every page: https://exporter.dev/llms.txt
# Use Apple Notes in Claude
Ask Claude about your Apple Notes, served from your own Mac.
## Steps
1. Export Apple Notes as Markdown: connect it, choose an export folder like `~/Documents/notes` and press "Sync Now".
2. On the MCP Server card, press "Start". The card shows `localhost:8744`.
3. Connect Claude Code (add `--scope user` to have it in every project):
```sh
claude mcp add --transport http exporter http://localhost:8744/mcp
```
4. Ask Claude about your notes: "Find my notes about the kitchen renovation and summarize where we landed", or "Draft a follow-up from my meeting notes from Tuesday."
Claude Desktop, Cursor and VS Code connect from the buttons on the same card.
## What you get
- `search` is ranked full-text search over your notes, and each note it finds carries a link that opens it in Apple Notes
- `read` returns a note's Markdown and front matter, `get_recent` the latest changes, `list` and `get_stats` the whole export
- the server runs inside the app: it answers while Exporter runs, window open or closed, and stops when you quit. It listens on 127.0.0.1 only, so nothing outside your Mac can reach it
## Pitfalls
- The server reads Markdown only, so notes exported as HTML are invisible to it. It serves every app's export folder, wherever each is saved; after you add one, press "Stop" and "Start".
- Claude sees what you exported: on the free allowance, your first 100 notes. What a tool returns goes to the model, like anything you paste.
The endpoint, the six tools and every client are in [the MCP server docs](https://exporter.dev/docs/mcp).
## Related
- [MCP server](https://exporter.dev/docs/mcp): Connect Claude and other agents
- [Apple Notes](https://exporter.dev/docs/notes): Folders, fields, HTML and fixes
- [Messages in Claude](https://exporter.dev/guides/messages/messages-in-claude): Ask Claude about your conversations
---
human version: https://exporter.dev/guides/notes/apple-notes-in-claude
every page: https://exporter.dev/llms.txt
# Read Apple Notes in Wander
Read your exported notes in Wander, our free Markdown editor.
## Steps
1. Export Apple Notes as Markdown into a folder like `~/Documents/notes`, and leave real-time sync on.
2. Get Wander, free on the [App Store](https://apps.apple.com/us/app/wander-markdown-editor/id6791206855) for Mac with macOS 15 or later, iPhone and iPad. No account, no subscription.
3. In Wander, choose File > Open Folder… (⌘O) and pick the export folder itself. Wander loads images only from inside the folder you opened, so do not open a folder inside it.
4. Or from Terminal: `open -a Wander ~/Documents/notes`. Wander remembers the folder and, by default, reopens it at launch.
## What you get
- the export's folder tree, Apple Notes' own folders included, as the sidebar
- the front matter collapsed to one line, and listed as Properties in the Info panel
- images from `attachments/` where they sat, tables as tables, checklists ticked where they were ticked
- `[[wikilinks]]` you can click and #tags shown as tags
- an edit in Apple Notes rewrites the file, and the note open in Wander reloads with it
Opening a file never saves it again, and a plain folder gets no hidden files from Wander, so the export stays exactly as Exporter wrote it.
## Pitfalls
- Edits in Wander are not sent back to Apple Notes, and Exporter replaces the file the next time it writes that note. Write in Apple Notes, or keep your own writing in a folder outside the export.
- In a plain folder, ⌘P finds files by name only. Full-text search, backlinks and the tag sidebar need File > Enable History & Search…, which creates a `.wander` folder inside the folder you opened.
- On iPhone, put the export folder where the phone can reach it, like iCloud Drive, then choose Open a Folder… in Wander there.
What each file holds is in [the Apple Notes docs](https://exporter.dev/docs/notes).
## Related
- [Apple Notes](https://exporter.dev/docs/notes): Folders, fields, HTML and fixes
- [Apple Notes to Obsidian](https://exporter.dev/guides/notes/apple-notes-to-obsidian): A vault that follows Apple Notes
- [Export Apple Notes to Markdown](https://exporter.dev/notes): Apple Notes as Markdown, kept in sync
---
human version: https://exporter.dev/guides/notes/apple-notes-in-wander
every page: https://exporter.dev/llms.txt
# Does Apple Notes export Markdown?
Yes, since macOS 26, a note at a time. For the whole library, kept current, use Exporter.
Yes. Since macOS 26, Apple Notes itself exports Markdown: Apple's help says to click the note and choose File › Export To › Markdown. It describes one note at a time, copied once.
## Steps
1. One note: click it in Apple Notes, choose File › Export To › Markdown, and save the file.
2. Every note: in Exporter, press "Connect" beside Apple Notes, then "Open Apple Notes Folder", and press "Select This Folder" without opening anything.
3. Choose where the files go, like `~/Documents/notes`, and press "Use This Folder".
4. Press "Sync Now". After that, each edit in Apple Notes is written to its file.
## What you get
Apple's export gives you the note you clicked, as it was when you saved it. Exporter writes every note in the folders you tick as its own `.md` file, in Apple Notes' own folder tree, or one folder per tag or smart folder. Attachments are copied into `attachments/` and embedded where they were, checklists become `- [ ]` lines, your #tags stay in the text and links between notes become wikilinks. Each file opens with front matter: the title, the created and modified dates, and a link that reopens the note in Apple Notes.
## Pitfalls
- Exporter leaves locked notes out until you remove the lock.
- Notes that Apple Notes has not downloaded from iCloud to this Mac yet are left out until it has.
- Your first 100 notes are free. The one-time unlock exports the rest.
Every field is in [the Apple Notes docs](https://exporter.dev/docs/notes).
## Related
- [Export Apple Notes to Markdown](https://exporter.dev/notes): Apple Notes as Markdown, kept in sync
- [Apple Notes](https://exporter.dev/docs/notes): Folders, fields, HTML and fixes
- [Apple Notes to Obsidian](https://exporter.dev/guides/notes/apple-notes-to-obsidian): A vault that follows Apple Notes
---
human version: https://exporter.dev/guides/notes/apple-notes-markdown-export
every page: https://exporter.dev/llms.txt
# Apple Notes to Obsidian, kept in sync
Keep writing in Apple Notes and read every note in Obsidian.
Apple Notes keeps your notes in a database only Notes is made to open, and its own export is one note at a time. Obsidian wants a folder of Markdown files. Exporter turns every note into one: folders stay folders, attachments are copied beside the note, links between notes become wikilinks, and the created and modified dates become Properties.
## Steps
1. In Finder, make a folder for the export inside your vault, like `Vault/Apple Notes`. With no vault yet, make an empty folder and open it with Obsidian's "Open folder as vault" first.
2. In Exporter, press "Connect" beside Apple Notes (on first launch the welcome leads there), then "Open Apple Notes Folder" and "Select This Folder" in the panel that opens.
3. On "Choose Where the Files Go", pick "My Obsidian Vault", press "Use This Folder" and choose `Vault/Apple Notes` in the panel. Leave the format on Markdown.
4. Press "Sync Now". From then on every edit in Apple Notes is written to the vault while Exporter runs, window open or closed. Settings > "Open at Login" keeps it going after a restart.
5. Optional: "install companion plugin" on Exporter's Obsidian card (or in Settings > OBSIDIAN) adds sync status inside Obsidian and opens any note back in Apple Notes.
## What you get
```text
Vault/
.obsidian/
Apple Notes/
Studio/
Poster, first pass.md
attachments/
bases/
all-notes.base
photo-notes.base
all-attachments.base
My own note.md
```
Each note's front matter shows as Properties, with `created` and `modified` as real dates that sort and filter, and `cover` pointing at the note's first image. Your #tags stay in the text, where Obsidian reads them as tags. `source_url` reopens the note in Apple Notes.
## Pitfalls
- Choose a folder of its own, not the vault's own folder, so your notes and Exporter's stay apart. A "Full Resync" removes only the files Exporter wrote: the notes you wrote in Obsidian and `.obsidian` with your settings and plugins stay.
- An edit to an exported file goes nowhere: Exporter replaces it the next time it writes that note. Write in Apple Notes, and keep your own notes outside the export folder.
- The bases filter by file type, so they list your own notes too, and they are rewritten on every export: to change one, copy it under a new name.
Moving to Obsidian for good? Its free [Importer](https://obsidian.md/help/import/apple-notes) copies Apple Notes once. Every field in the files, and each problem with its fix, is in [the Apple Notes docs](https://exporter.dev/docs/notes).
## Related
- [Apple Notes](https://exporter.dev/docs/notes): Folders, fields, HTML and fixes
- [Apple Notes in Claude](https://exporter.dev/guides/notes/apple-notes-in-claude): Claude searches your notes, on your Mac
- [Export Apple Notes to Markdown](https://exporter.dev/notes): Apple Notes as Markdown, kept in sync
---
human version: https://exporter.dev/guides/notes/apple-notes-to-obsidian
every page: https://exporter.dev/llms.txt
# Back up Apple Notes
Your notes as files you can open without Notes: a mirror that follows every edit, and dated copies that never change.
## The ways to back up Apple Notes
| Way | What you get | What it misses |
|---|---|---|
| iCloud | your notes on every device | a deletion or a bad edit syncs everywhere; there is no copy outside Notes |
| Time Machine | the Notes database as it was on a day | you restore the whole database, never one note, and it is made for Notes, not for reading |
| File › Export as PDF | one note you can read anywhere | one note at a time, by hand, with no folders |
| Exporter | every note as a Markdown file, with its folders, attachments and links, kept current | locked notes |
## Steps
1. Connect Apple Notes, choose an export folder like `~/Documents/notes` and press "Sync Now". This folder is the live mirror.
2. Turn on Settings > "Open at Login", so the mirror keeps up after a restart.
3. For snapshots, install the command line: on the Command Line card press "Copy Install Command" and paste it once in Terminal.
4. On the same card, press "add folder…" under "Export Destinations" and pick a backup folder, like `~/Backups`. A grant covers every folder below it.
5. Add a nightly snapshot with `crontab -e`. `exporter help cron` prints the line with the full path of the command on your Mac; use that, and write `%` as `\%`:
```sh
0 3 * * * exporter export --dest ~/Backups/notes-$(date +\%F)
```
## What you get
```text
~/Documents/notes/ the mirror, always current
~/Backups/notes-2026-09-10/ a snapshot
~/Backups/notes-2026-09-11/ the next night's
```
Each snapshot is a full export, one `.md` per note laid out as "Organize" on the card says, with its attachments and a record of the run in its own `.exporter/`. `export` runs fine while the app is open.
## Pitfalls
- The mirror is not an archive: a note you delete in Apple Notes is removed from it on the next sync. The dated snapshots keep it.
- Exporter cannot restore. It never writes into Apple Notes, so getting a note back means opening its file and copying the text into a new note.
- Locked notes are never exported, and on the free allowance a backup holds your first 100 notes. `exporter status` shows how many free notes are used.
Every flag of `export` is in [the command line reference](https://exporter.dev/docs/cli#export), and the files themselves in [the Apple Notes docs](https://exporter.dev/docs/notes).
## Related
- [Apple Notes](https://exporter.dev/docs/notes): Folders, fields, HTML and fixes
- [CLI](https://exporter.dev/docs/cli): Every command, flag and exit code
- [Apple Notes to Obsidian](https://exporter.dev/guides/notes/apple-notes-to-obsidian): A vault that follows Apple Notes
---
human version: https://exporter.dev/guides/notes/back-up-apple-notes
every page: https://exporter.dev/llms.txt
# Notion guides
One job each; how the export works is in the [Notion docs](https://exporter.dev/docs/notion).
- [Notion to Obsidian](https://exporter.dev/guides/notion/notion-to-obsidian): Pages and databases as notes in your vault
- [Back up Notion](https://exporter.dev/guides/notion/back-up-notion): Your workspace as files, kept current
---
human version: https://exporter.dev/guides/notion
every page: https://exporter.dev/llms.txt
# Back up Notion
Every shared page and database as files on your Mac, images included, kept current.
## Steps
1. Press "Connect" beside Notion under Cloud on Exporter's home and sign in with Apple. On Notion's page in your browser, pick your top pages, so everything under them comes too, and allow access.
2. Choose where the backup goes, like `~/Documents/notion`, and press "Use This Folder".
3. Leave every page and database ticked and press "Sync Now".
4. Optional, for dated copies: install the command line from its card, grant `~/Backups` under "Export Destinations", and run `exporter export --source notion --dest ~/Backups/notion-$(date +%F)`.
## What you get
```text
~/Documents/notion/notion-export/
Projects.md
Projects/
Plan Q4.md
Tasks.csv
Tasks/
Write the plan.md
```
Plain Markdown that any editor opens, with a CSV of each database that any spreadsheet opens. Images and files Notion hosts are copied beside their pages, so the backup does not depend on Notion's links, which expire. Time Machine and your cloud drive back the folder up with the rest of your Mac.
## Pitfalls
- The folder follows Notion: a page you delete in Notion leaves it within minutes. Dated copies keep what the mirror drops.
- Only shared pages are backed up. Share a new top page with the exporter.dev connection from its ⋯ menu in Notion.
- The first 7 days are free; then Exporter Cloud is a subscription. When it ends, syncing stops and the files stay.
Every field is in [the Notion docs](https://exporter.dev/docs/notion).
## Related
- [Notion](https://exporter.dev/docs/notion): Connect, files, sync and fixes
- [Notion to Obsidian](https://exporter.dev/guides/notion/notion-to-obsidian): Pages and databases as notes in your vault
- [Notion](https://exporter.dev/notion): Pages and databases as files
---
human version: https://exporter.dev/guides/notion/back-up-notion
every page: https://exporter.dev/llms.txt
# Notion to Obsidian
Your Notion pages as notes in your vault, databases as folders of notes with their properties.
## Steps
1. Press "Connect" beside Notion under Cloud on Exporter's home and sign in with Apple. On Notion's page in your browser, pick the pages to bring over and allow access.
2. Choose a folder inside your vault, like `~/Documents/Vault/Notion`, and press "Use This Folder". A folder inside a vault is used as it is.
3. Untick what you don't want on the pick page: pages or databases.
4. Press "Sync Now". From then on, an edit in Notion reaches the note within minutes.
## What you get
```text
Vault/Notion/
Projects.md
Projects/
Plan Q4.md
Tasks.csv
Tasks/
Write the plan.md
attachments/
```
Each page is a note named by its title, in the folders Notion shows it in. A database is a folder with a note per row: Obsidian shows the row's properties, like Status or Due date, as properties you can filter in a base. Links between pages are links between notes, so the graph and backlinks work, and images Notion hosts are copied into `attachments/` so they still show when Notion's links expire.
## Pitfalls
- The notes follow Notion: an edit in Obsidian is replaced at the next change in Notion. Write your own notes beside them, or stop syncing once you have moved for good.
- Only the pages you share sync. To add one later, open its ⋯ menu in Notion and add the exporter.dev connection.
- The first 7 days are free; then Exporter Cloud is a subscription, and when it ends the notes stay where they are.
Every field is in [the Notion docs](https://exporter.dev/docs/notion).
## Related
- [Notion](https://exporter.dev/docs/notion): Connect, files, sync and fixes
- [Back up Notion](https://exporter.dev/guides/notion/back-up-notion): Your workspace as files, kept current
- [Notion](https://exporter.dev/notion): Pages and databases as files
---
human version: https://exporter.dev/guides/notion/notion-to-obsidian
every page: https://exporter.dev/llms.txt
# Reminders guides
One job each; how the export works is in the [Reminders docs](https://exporter.dev/docs/reminders).
- [Reminders to Obsidian](https://exporter.dev/guides/reminders/reminders-to-obsidian): A checklist per list, fields for Dataview
- [Reminders as text](https://exporter.dev/guides/reminders/reminders-as-text): Each list as a checklist file
---
human version: https://exporter.dev/guides/reminders
every page: https://exporter.dev/llms.txt
# Export Reminders as a text list
Each Reminders list as a checklist file you can open, print or paste anywhere.
## Steps
1. Press "Connect" beside Reminders on Exporter's home, then "Open Reminders Folder", and press "Select This Folder".
2. Choose where the files go, like `~/Documents/reminders`, and press "Use This Folder".
3. Leave every list ticked, or untick the ones you do not want.
4. Press "Sync Now". Each list becomes one file, like `groceries.md`.
5. Open a list in TextEdit or any editor, print it, or paste it into a note or an email.
## What you get
```markdown
- [ ] Coffee beans [due:: 2026-09-16] [priority:: high] [↗](x-apple-reminderkit://REMCDReminder/1) ^rem-1
- [ ] Grinder [↗](x-apple-reminderkit://REMCDReminder/2) ^rem-2
## Completed
- [x] Oat milk [↗](x-apple-reminderkit://REMCDReminder/3) ^rem-3
```
One file per list, a checkbox line per reminder, subtasks indented under their parent and completed reminders under a `Completed` heading. A list with sections gets a heading per section, in the list's own order. Due dates, priority, notes and repeats sit on the line. Exporter rewrites a list within a minute of a change in Reminders.
## Pitfalls
- The fields in brackets, the ↗ link and the id at the end of each line are there for Obsidian. A plain editor shows them as written.
- The export is one way: ticking a line in the file does not complete the reminder.
- Your first 100 reminders are free, newest first. The one-time unlock fills every list.
Every field is in [the Reminders docs](https://exporter.dev/docs/reminders).
## Related
- [Reminders](https://exporter.dev/docs/reminders): List files, fields and fixes
- [Reminders to Obsidian](https://exporter.dev/guides/reminders/reminders-to-obsidian): A checklist per list, fields for Dataview
- [Reminders](https://exporter.dev/reminders): Every list as a Markdown checklist
---
human version: https://exporter.dev/guides/reminders/reminders-as-text
every page: https://exporter.dev/llms.txt
# Reminders as checklists in Obsidian
A checklist file per list in your vault, every due date a field.
## Steps
1. Connect Reminders. Press "Connect" beside Reminders on Exporter's home, then "Open Reminders Folder", and select the folder the panel opens in. Exporter reads the Reminders store there and nothing else.
2. Pick a folder inside your vault. On "Choose Where the Files Go", pick "My Obsidian Vault", press "Use This Folder" and choose a folder in the vault, like `Reminders`. A folder right in your home gets a `reminders-export` folder made inside it; a folder inside a vault is used as it is.
3. Choose the lists. Every list is ticked. Untick the ones you do not want in the vault; the "shared" pill shows the lists other people share with you, and "recent" the ones that changed last.
4. Press "Sync Now". Each list becomes one file, `groceries.md`, with a checkbox line per reminder. From then on a list is rewritten within a minute of a change in Reminders.
5. Query them. In Obsidian, a Dataview task query over the folder lists what is due: `TASK FROM "Reminders" WHERE !completed AND due`.
## What you get
One file per list. Each reminder is a checkbox line with its title, then the fields Dataview reads inline: `due`, `priority`, `flagged`, `notes`, `url`, `recurring` and the reminder's hashtags. Subtasks are indented under their parent. Completed reminders sit under a `Completed` heading, so the file is the history of the list, not just today's to-dos. Every line ends with a link that opens the reminder in Reminders and a block id, so a daily note can point at one line. A shared list names its owner in the front matter. Images attached to a reminder are copied into `attachments/` and embedded under the line.
## Pitfalls
- The sync is one way. Ticking a box in Obsidian does not complete the reminder; the next sync rewrites the line from Reminders. Tick in Reminders.
- Your first 100 reminders are free, newest first. A list with more than that holds only the free ones until you unlock Reminders, and then fills up on the next sync.
- Two lists with the same name each get a short id suffix in the file name. Rename one of them in Reminders if you want clean names.
## Related
- [Reminders](https://exporter.dev/docs/reminders): List files, fields and fixes
- [Apple Notes to Obsidian](https://exporter.dev/guides/notes/apple-notes-to-obsidian): A vault that follows Apple Notes
- [Reminders](https://exporter.dev/reminders): Every list as a Markdown checklist
---
human version: https://exporter.dev/guides/reminders/reminders-to-obsidian
every page: https://exporter.dev/llms.txt
# Safari guides
One job each; how the export works is in the [Safari docs](https://exporter.dev/docs/safari).
- [Keep Safari history](https://exporter.dev/guides/safari/keep-safari-history): Every day of history as a file
- [Safari to Obsidian](https://exporter.dev/guides/safari/safari-to-obsidian): Bookmarks and Reading List in your vault
---
human version: https://exporter.dev/guides/safari
every page: https://exporter.dev/llms.txt
# Keep your Safari history
A file per day of your Safari history on your Mac, kept after Safari forgets the day.
## Steps
1. Press "Connect" beside Safari on Exporter's home and press "Select This Folder" in the panel, without choosing anything.
2. Choose where the files go, like `~/Documents/safari`, and press "Use This Folder".
3. Leave History ticked on the Kinds tab. On the Sites tab, untick any site you would rather not keep.
4. Press "Sync Now". New visits follow as you browse.
## What you get
```text
~/Documents/safari/safari-export/history/
2026-10-19.md
2026-10-20.md
topics.md
```
A file per day: a heading per hour, a line per visit with its time, title and address, newest first. On macOS 27 each visit also carries Safari's own few lines of the page and its topics. Safari keeps about a year of history; a day it forgets keeps its file in your folder.
## Pitfalls
- Your newest 10 days of history are free; Unlock Safari is one purchase for all of it.
- Private windows keep no history, so there is nothing of them to keep.
- Every Safari profile writes into the same days, each visit marked with its profile when you connect Safari's second folder.
Every field is in [the Safari docs](https://exporter.dev/docs/safari).
## Related
- [Safari](https://exporter.dev/docs/safari): Connect, files, tabs and fixes
- [Safari to Obsidian](https://exporter.dev/guides/safari/safari-to-obsidian): Bookmarks and Reading List in your vault
- [Safari](https://exporter.dev/safari): History, bookmarks and tabs as files
---
human version: https://exporter.dev/guides/safari/keep-safari-history
every page: https://exporter.dev/llms.txt
# Safari to Obsidian
Your bookmarks, Reading List and history as notes in your vault, kept in sync.
## Steps
1. Press "Connect" beside Safari on Exporter's home and press "Select This Folder" in the panel, without choosing anything.
2. Choose a folder inside your vault, like `~/Obsidian/Vault/Safari`, and press "Use This Folder".
3. In Options…, tick what each file carries: Page Snippets, Topics and Icons are ticked; tick Page Text to have the text of every bookmark and Reading List page in your vault.
4. Press "Sync Now".
## What you get
`bookmarks/` has a note per bookmark folder, named as Safari shows it, `reading-list/` a note per page you saved, saying when and whether you read it, and `history/` a note per day. `topics.md` lists every topic with its Wikidata link, its pages and links to the days you read them, so the graph shows what you read about.
## Pitfalls
- Page Text fetches pages from the web once, from your Mac, without your cookies: a page behind a sign-in comes back without its text, and its file says why.
- Links follow Settings › Markdown: wikilinks or standard Markdown.
- Bookmarks and the Reading List are free in full; history past the newest 10 days needs Unlock Safari.
Every field is in [the Safari docs](https://exporter.dev/docs/safari).
## Related
- [Safari](https://exporter.dev/docs/safari): Connect, files, tabs and fixes
- [Keep Safari history](https://exporter.dev/guides/safari/keep-safari-history): Every day of history as a file
- [Safari](https://exporter.dev/safari): History, bookmarks and tabs as files
---
human version: https://exporter.dev/guides/safari/safari-to-obsidian
every page: https://exporter.dev/llms.txt
# Screen Time guides
One job each; how the export works is in the [Screen Time docs](https://exporter.dev/docs/screen-time).
- [Screen Time history](https://exporter.dev/guides/screen-time/keep-screen-time-history): Every day kept as a file
---
human version: https://exporter.dev/guides/screen-time
every page: https://exporter.dev/llms.txt
# Keep Screen Time history past four weeks
A Markdown file for every day, long after macOS deletes the history.
## Steps
1. Press "Connect" beside Screen Time on Exporter's home, then "Open Knowledge Folder". The panel opens in the Knowledge folder where macOS keeps Screen Time: press "Select This Folder".
2. Choose where the files go and press "Use This Folder". For a folder like `~/Documents/screen-time`, press "Change…" beside "Saves To" on the card.
3. Tick the days you want before the first sync: on the free allowance, the 10 newest days ticked at that first sync are your free days, and they stay fixed.
4. Press "Sync Now".
5. Unlock Screen Time so every new day is written, and turn on Settings > "Open at Login". While Exporter runs it adds the new days, at most once a minute.
## What you get
```text
~/Documents/screen-time/
2026-08-31.md
2026-09-01.md
summary.md
```
One file per day, with the totals in the front matter and four tables: apps used for a minute or more, websites, notifications per app, and when the screen was on.
```yaml
total_screen_time: "3h 51m"
apps_used: 4
domains_visited: 2
```
`summary.md` adds up top apps and daily totals over the recent weeks. Exporter never deletes a day file, so the folder keeps growing after macOS forgets the old days.
## Pitfalls
- The folder is the only copy of the days macOS deleted. Back it up, and never press "Full Resync" on it: that removes the day files Exporter wrote and exports only what macOS still has.
- Days macOS deleted before you exported them cannot be exported.
- Without the unlock, new days stop after the free ten.
The fields and the fixes are in [the Screen Time docs](https://exporter.dev/docs/screen-time).
## Related
- [Screen Time](https://exporter.dev/docs/screen-time): Day files, the archive, fields and fixes
- [Screen Time](https://exporter.dev/screen-time): Screen Time as one file per day
- [CLI](https://exporter.dev/docs/cli): Every command, flag and exit code
---
human version: https://exporter.dev/guides/screen-time/keep-screen-time-history
every page: https://exporter.dev/llms.txt
# Voice Memos guides
One job each; how the export works is in the [Voice Memos docs](https://exporter.dev/docs/voice-memos).
- [Voice Memos transcripts](https://exporter.dev/guides/voice-memos/voice-memos-transcripts): Every recording's words as a file
- [Voice Memos to Obsidian](https://exporter.dev/guides/voice-memos/voice-memos-to-obsidian): Recordings as notes in your vault
---
human version: https://exporter.dev/guides/voice-memos
every page: https://exporter.dev/llms.txt
# Voice Memos to Obsidian
Each recording as a note in your vault, the audio playing inside it and its words below.
## Steps
1. On macOS 27, press "Connect" beside Voice Memos on Exporter's home and press "Select This Folder" in the panel.
2. Choose a folder inside your vault, like `~/Obsidian/Vault/Voice Memos`, and press "Use This Folder".
3. In Options…, set Transcribe In to the language you speak, and in Settings › Markdown pick wikilinks or standard links for the audio.
4. Press "Sync Now".
## What you get
A note per recording with the audio embedded, so it plays in the note, and its transcript under `## Transcript`. The properties panel shows `duration`, `transcript`, `transcript_language` and `transcript_confidence`, so a Dataview or Bases table can list the recordings your Mac transcribed, or the ones it was least sure of. `index.md` lists every recording with a Play link.
## Pitfalls
- The audio takes room in the vault: each recording is copied once, beside its note.
- A note is written again when Voice Memos changes the recording or a transcript lands, so edit your own thoughts in a separate note that links to it.
- New recordings from your iPhone arrive once Voice Memos has them on your Mac.
Every field is in [the Voice Memos docs](https://exporter.dev/docs/voice-memos).
## Related
- [Voice Memos](https://exporter.dev/docs/voice-memos): Connect, transcripts, files and fixes
- [Voice Memos transcripts](https://exporter.dev/guides/voice-memos/voice-memos-transcripts): Every recording's words as a file
- [Voice Memos](https://exporter.dev/voice-memos): Recordings and transcripts as notes
---
human version: https://exporter.dev/guides/voice-memos/voice-memos-to-obsidian
every page: https://exporter.dev/llms.txt
# Voice Memos transcripts as text
Every recording's transcript as text on your Mac, including the ones Voice Memos never transcribed.
## Steps
1. On macOS 27, press "Connect" beside Voice Memos on Exporter's home and press "Select This Folder" in the panel.
2. Choose where the notes go, like `~/Documents/voice-memos`, and press "Use This Folder".
3. In Options…, set Transcribe In to the language you speak in your recordings.
4. Press "Sync Now". The notes arrive first; the recordings Voice Memos never transcribed are heard after, newest first.
## What you get
```text
~/Documents/voice-memos/voice-memos-export/
index.md
20260930 091500-6F3A1B2C.md
20260930 091500-6F3A1B2C.m4a
```
Each note has the transcript under `## Transcript`, in paragraphs that start with their time in the recording. Search the folder in Finder or Spotlight, or open it in any editor. The front matter says who wrote the words: `voice-memos` or `this-mac`, the language, and how sure the model was.
## Pitfalls
- One language at a time: a recording in another language comes out wrong or not at all. Change Transcribe In and it is heard again.
- When the model is not sure, nothing is written. That is on purpose: a note never carries words it made up.
- Your 20 newest recordings are free; Unlock Voice Memos is one purchase for the rest.
Every field is in [the Voice Memos docs](https://exporter.dev/docs/voice-memos).
## Related
- [Voice Memos](https://exporter.dev/docs/voice-memos): Connect, transcripts, files and fixes
- [Voice Memos to Obsidian](https://exporter.dev/guides/voice-memos/voice-memos-to-obsidian): Recordings as notes in your vault
- [Voice Memos](https://exporter.dev/voice-memos): Recordings and transcripts as notes
---
human version: https://exporter.dev/guides/voice-memos/voice-memos-transcripts
every page: https://exporter.dev/llms.txt
# Wallet guides
One job each; how the export works is in the [Wallet docs](https://exporter.dev/docs/wallet).
- [Keep Wallet passes](https://exporter.dev/guides/wallet/keep-wallet-passes): A file per pass, barcode kept
---
human version: https://exporter.dev/guides/wallet
every page: https://exporter.dev/llms.txt
# Keep every Wallet pass
Every pass as a file you can read and search, long after the flight.
## Steps
1. Connect Wallet. Press "Connect" beside Wallet on Exporter's home, then "Open Passes Folder". The panel opens in `~/Library/Passes`: press "Select This Folder". Take that folder, not the `Cards` folder inside it, so the dates of older passes can be read too.
2. Pick where the files go: choose a folder on the next page and press "Use This Folder", or later "Change…" beside "Saves To" on the card. A folder inside a vault is used as it is; a folder right in your home gets a `wallet-export` folder inside it.
3. Press "Sync Now". Every pass becomes one Markdown file named by its date and by what it is, all in one folder.
4. Find one later. The pills show the flights, the events or the cards, and a pass is the tick: untick one and its file goes on the next sync.
## What you get
One file per pass. It opens with a heading and one line saying where and when, then the fields exactly as the card draws them, the back of the card under its own heading, and the barcode's own number, so a pass you deleted from Wallet is still identifiable. The front matter carries the kind, the date and where that date came from, the issuer, the pass type, whether the pass is void, and the venue's coordinates when it has them. A flight is filed under its own day in the airport's time zone, not yours. Passes that keep their words in a `pass.strings` file are read in your Mac's language, so a ticket says the event's name rather than `EVENT_NAME`. Gates, seats and boarding times change on the day you travel, and each change rewrites only that pass's file.
## Pitfalls
- Older event tickets often carry no date at all. Those are filed under the day the pass was signed, and the file says so with `date_source: signed`.
- Your 20 most recent passes are free. The rest need the one-time unlock.
- Card numbers and payment history are not exported, because they are not on the Mac: Wallet keeps payment cards in the Secure Element.
## Related
- [Wallet](https://exporter.dev/docs/wallet): Pass files, fields and fixes
- [Wallet](https://exporter.dev/wallet): Every pass as a Markdown file
- [MCP server](https://exporter.dev/docs/mcp): Connect Claude and other agents
---
human version: https://exporter.dev/guides/wallet/keep-wallet-passes
every page: https://exporter.dev/llms.txt
# Docs
How each export works; for one job step by step, see the [guides](https://exporter.dev/guides).
## General
- [Getting started](https://exporter.dev/docs/getting-started): Install, connect, first export
- [CLI](https://exporter.dev/docs/cli): Every command, flag and exit code
- [MCP server](https://exporter.dev/docs/mcp): Connect Claude and other agents
- [Help](https://exporter.dev/docs/help): Problems and questions, with fixes
- [FAQ](https://exporter.dev/faq): Every question in one place
- [Changelog](https://exporter.dev/changelog): What changed in each version
## Apps
- [Apple Notes](https://exporter.dev/docs/notes): Folders, fields, HTML and fixes
- [Messages](https://exporter.dev/docs/messages): Conversations, media, fields and fixes
- [Mail](https://exporter.dev/docs/mail): Kinds, accounts, folders and fixes
- [Contacts](https://exporter.dev/docs/contacts): Layouts, every field and fixes
- [Screen Time](https://exporter.dev/docs/screen-time): Day files, the archive, fields and fixes
- [Reminders](https://exporter.dev/docs/reminders): List files, fields and fixes
- [Calendar](https://exporter.dev/docs/calendar): Month files, calendars and fixes
- [Bear](https://exporter.dev/docs/bear): Tag folders, attachments and fixes
- [Logseq](https://exporter.dev/docs/logseq): Pages, journals, fields and fixes
- [Documents](https://exporter.dev/docs/documents): File types, scans, fields and fixes
- [Wallet](https://exporter.dev/docs/wallet): Pass files, fields and fixes
- [Claude Code](https://exporter.dev/docs/claude-code): Session notes, originals and fixes
- [Linear](https://exporter.dev/docs/linear): Connect, files, sync and fixes
- [Notion](https://exporter.dev/docs/notion): Connect, files, sync and fixes
- [Safari](https://exporter.dev/docs/safari): Connect, files, tabs and fixes
- [Voice Memos](https://exporter.dev/docs/voice-memos): Connect, transcripts, files and fixes
## Related
- [For agents](https://exporter.dev/agents): Skills, command line and MCP for agents
- [Changelog](https://exporter.dev/changelog): What changed in each version
- [Contact](https://exporter.dev/contact): Feedback, email and updates
---
human version: https://exporter.dev/docs
every page: https://exporter.dev/llms.txt
# Bear
How the Bear export works, from connecting to fixing problems.
## Connect
Bear shows on Exporter's home when it is installed. Press "Connect" beside it, then "Open Bear Folder": the panel opens in Bear's Application Data folder, `~/Library/Group Containers/9K33E3U3T4.net.shinyfrog.bear/Application Data`. Press "Select This Folder", then choose where the files go and press "Use This Folder".
## Where the files go
Each note lands in a folder named after its first tag in alphabetical order, and a `/` in that tag makes subfolders: a note tagged `#work/projects` goes to `work/projects/`. The file is named after the note. Two notes with the same title under the same first tag each get their own file, with a short id at the end of the name, like Apple Notes'. A folder right in your home folder, like `~/Documents`, gets a `bear-export` folder inside it; a deeper one is used as it is.
## What is exported
Every note is exported unless you untick it. Selection is by tag: untick a tag and its notes stay out, unless another of their tags is ticked. Notes with no tag are the "untagged" group at the end of the list and go to `_untagged/`. Recent, Pinned, Archived and Files (notes with attachments) sit beside Tags as lists. A note you untick loses its file on the next sync.
Left out: encrypted notes and the trash.
## Attachments
Images and files are copied into `attachments/` next to the note, and the note's links are rewritten to point at the copies.
## Markdown and HTML
Markdown is Bear's own text, exactly as Bear stores it. Choosing HTML in the format menu beside "Saves To" writes the note's plain text inside a `
`, with attachments copied but not linked: keep Markdown. One format at a time; switching leaves the other format's files behind.
## The file
Bear files carry no front matter: the file is the note as Bear stores it, #tags included.
## Free
Bear exports free, with no limit and no purchase.
## Sync and full resync
After the first "Sync Now", edits in Bear are written to the files while Exporter runs. When you delete, rename or retag a note, the next sync removes its old file.
"Full Resync" asks first, then removes only the files Exporter wrote and writes every ticked note again. Anything else in the export folder stays.
## Problems and fixes
- "database not found" or "invalid database": press "Connect" again and select the folder the panel opens in
- "Nothing is ticked to export. Tick at least one tag.": tick a tag; "Sync Now" and "Full Resync" stay off until you do
- "Bear is not connected any more. Connect it again to export.": press "Connect"
- a note is missing: give it a tag in Bear, and check it is not encrypted or in the trash
## Related
- [Bear](https://exporter.dev/bear): Bear notes in a folder, free, no limit
- [Bear guides](https://exporter.dev/guides/bear): Bear notes in Obsidian
- [Help](https://exporter.dev/docs/help): Problems and questions, with fixes
---
human version: https://exporter.dev/docs/bear
every page: https://exporter.dev/llms.txt
# Calendar
How the Calendar export works, from connecting to fixing problems.
## Connect
Press "Connect" beside Calendar on Exporter's home, then "Open Calendar Folder". The panel opens in Calendar's own folder, `~/Library/Group Containers/group.com.apple.calendar`: press "Select This Folder". Then choose where the files go and press "Use This Folder".
macOS does not ask for calendar access, and Exporter never asks for it: the events are read from the store inside the folder you granted, not through EventKit. The permission dialog you may have seen from other apps is that other route.
## Where the files go
One Markdown file per month, in one folder: `2026-09.md`, `2026-10.md`. A folder right in your home folder, like `~/Documents`, gets a `calendar-export` folder inside it; a deeper one, like `~/Documents/calendar`, is used as it is. A month with no events in it gets no file.
## What is exported
Every event in the calendars ticked on the card, inside the window the card is set to. The picker groups calendars under their accounts, the way Calendar's sidebar does, so one untick can leave out an account.
An event is filed under the month it starts in, once, even when it runs past the end of the month.
## Repeats
A repeating event is on every day it happens, not only the day it was made. Exporter reads the occurrences Calendar keeps for its own views, so the file agrees with the app, and a line says how the event repeats.
## Format
Always Markdown: the month's front matter, then a heading per day and one line per event.
A day reads all-day events first, then by the time they start, which is the order Calendar draws it in. An all-day event says "all day"; it never gains a 00:00 it did not have.
## The file
| key | holds |
| --- | --- |
| `title`, `month` | "Calendar, September 2026", and `2026-09` |
| `events` | how many events the file holds |
| `calendars` | the month's calendars, busiest first |
A line is the time, the event, the calendar it came from and where it is, then the fields a vault can query:
| field | holds |
| --- | --- |
| `repeats::` | `daily`, `weekly`, `every 2 weeks` |
| `join::` | the video call's link, when the event has one |
| `with::` | how many people are on it |
```markdown
## 2026-09-17, Thursday
- all day Marilyn Birthday · Birthdays
- 09:30-10:00 Standup · Work · Zoom [repeats:: weekly] [with:: 6]
- 13:00-14:00 Lunch with Kevin · Home · Philz Coffee
```
## How far back it reads
The card's "reads" row: this year, 2 years, 5 years or all. It changes which files are written, so a narrower window is a smaller export.
Calendar keeps about two years of occurrences for its own views, and that is all there is to read: on a real Mac, 2 years, 5 years and all return the same events. "all" means everything this Mac has, not everything that ever happened.
## Free and unlocked
Your first 100 events are free, and they stay free. Unlocking Calendar exports the rest ([pricing](https://exporter.dev/pricing)).
## Sync and full resync
After the first "Sync Now", Exporter rewrites a month when something in it changes, at most once a minute. Moving an event rewrites its month, and only that month.
"Full Resync" asks first, then removes the month files Exporter wrote and writes every ticked calendar again. Anything else in the folder stays.
## Problems and fixes
- "no calendar database in that folder (pick the Calendar folder itself)": press "Connect" again and select the folder the panel opens in
- a calendar is missing: it is unticked on the card, or its whole account is. The picker groups calendars by account
- old events are missing: the card's "reads" row is set to a shorter window, or Calendar itself no longer holds them
- your reminders are in the export: Calendar shows scheduled reminders as a calendar of their own. Untick the "Reminders" account on the card
## Related
- [Calendar](https://exporter.dev/calendar): Every month as a Markdown file
- [Reminders](https://exporter.dev/docs/reminders): List files, fields and fixes
- [MCP server](https://exporter.dev/docs/mcp): Connect Claude and other agents
---
human version: https://exporter.dev/docs/calendar
every page: https://exporter.dev/llms.txt
# Claude Code
How the Claude Code export works, from connecting to fixing problems.
## Connect
Press "Connect" beside Claude Code on Exporter's home, then "Open Claude Code Folder". The panel opens in your `.claude` folder, hidden files shown: press "Select This Folder". Exporter reads the `projects` folder inside it and nothing else. Then choose where the files go and press "Use This Folder".
## Where the files go
One Markdown note per session under a folder per project, named by the session's start and its title (`wander.md/2026-08-23 2233 fix the changelog header link.md`). The original log is copied to `originals//.jsonl`. Pasted images land in `/attachments/`.
## What is exported
The sessions ticked on the card. The pills only filter the list: recent (newest first), busiest (most prompts first) and running (the log moved in the last two minutes). The search field matches a session's title, its first prompt and its project.
"Saves To" chooses the format: markdown, the original, or both. A session's title is the name you gave it with `/rename`, else the title Claude Code chose, else the first prompt.
## Format
Markdown: front matter, then a paragraph per turn with the time and a block id. Tool calls are fences with what they ran, edits are diff fences, pasted images are embeds. Thinking, tool results, snapshots and the harness's own notices never land in the note.
## The file
| key | holds |
| --- | --- |
| `agent`, `session` | `claude-code` and the session id |
| `title`, `project`, `cwd`, `branch` | what the session was about and where |
| `model`, `version` | the model and the Claude Code version |
| `started`, `ended` | the first and last line's time |
| `turns`, `prompts`, `tools` | how much happened |
| `tokens_in`, `tokens_out` | fresh input and output, cache reads left out |
| `files` | the files the session edited or wrote |
```markdown
**you** · 22:33 ^turn-1
see the changelog page, the header link goes to /contact
**claude** · 22:34 ^turn-2
I'll look at the live page first.
```tool Bash "find docs route" ^toolu_01A
ls src
```
```
## Free and unlocked
Your 50 most recent sessions are free, and they stay free. A session Claude Code deleted keeps its files ([pricing](https://exporter.dev/pricing)).
## Sync and full resync
After the first "Sync Now", a running session rewrites its note as the log grows, and only logs that changed are read again.
"Full Resync" asks first, then removes the session files Exporter wrote and exports again what Claude Code still has. Sessions Claude Code already deleted do not come back: back up the folder before you ever press it.
## Problems and fixes
- "no session logs in that folder (pick the .claude folder in your home)": press "Connect" again and select the folder the panel opens in
- a session is missing: it is unticked, or it is a subagent's log, which folds into its parent
- new sessions stop arriving: the free 50 are used. Unlock Claude Code and press "Sync Now"
- a note is empty: the session has no prompt yet, only Claude Code's own records
## Related
- [Claude Code](https://exporter.dev/claude-code): Every session as a note, the original kept
- [Claude Code guides](https://exporter.dev/guides/claude-code): Keep every session as a note
- [MCP server](https://exporter.dev/docs/mcp): Connect Claude and other agents
---
human version: https://exporter.dev/docs/claude-code
every page: https://exporter.dev/llms.txt
# The exporter command line
Run your exports from Terminal, cron, backup tools and agents.
`exporter` is the Exporter Mac app run without a window. It uses the same connections, export folders, selection and settings you set up in the app, and it writes to the same export log. It works while the app is closed and it never prompts: anything missing stops the run with exit code 2 and one line saying what to do. macOS only.
## Install
1. Install Exporter from the Mac App Store ([download](https://exporter.dev/download)) and open it.
2. Connect an app (Apple Notes, Bear, Logseq, Contacts, Messages or Screen Time) or a Documents folder, and choose its export folder ([getting started](https://exporter.dev/docs/getting-started)). These grants can only be made in the app.
3. On the app's Command Line card, press "Copy Install Command" and paste it once in Terminal.
The app is sandboxed and cannot write to your PATH, which is why the last step is a paste. The line installs `exporter` into `/opt/homebrew/bin` when that folder exists and belongs to you (no sudo), otherwise into `/usr/local/bin` with sudo. Pasting it again is safe; it replaces whatever was there. The line also installs `notes-exporter`, the command's old name, so older scripts and cron lines keep working. `exporter help install` prints the line for your Mac.
## Sources
`--source` takes one of these:
| source | also accepted | writes |
| --- | --- | --- |
| `apple` | `apple-notes`, `applenotes`, `notes` | markdown or html |
| `bear` | | markdown or html |
| `logseq` | | always markdown |
| `contacts` | `apple-contacts`, `addressbook` | always markdown |
| `messages` | `imessage`, `chats`, `conversations` | always markdown |
| `screentime` | `screen-time`, `usage` | always markdown, one file per day |
| `reminders` | `apple-reminders`, `lists`, `todos` | always markdown, one file per list |
| `claude-code` | `claudecode`, `claude`, `claude-code-sessions` | markdown, the original log, or both, as ticked on the card |
| `wallet` | `passes`, `pkpass`, `boarding-passes`, `tickets` | always markdown, one file per pass |
| `documents` | `docs`, `files`, `pdf` | the formats ticked on the Documents card |
## Formats
`--format` takes `markdown` (or `md`) or `html`; case does not matter. Anything else stops with `error: --format pdf: expected markdown | html` and exit 64.
- without it, `sync` writes each app in the format set on its card (Apple Notes and Bear each have their own) and `export` writes the setting of the app it exports; `exporter help sync` and `exporter help export` show the current ones
- Logseq, Contacts, Messages and Screen Time are always markdown, and Documents writes the formats ticked on its card, so for them `--format html` is ignored with a note: `note: logseq export is always markdown, so --format is ignored for this source.`
- Apple Notes writes one `.html` page per note ([the HTML format](https://exporter.dev/docs/notes#markdown-and-html)), attachments copied into `attachments/` next to it and linked, no front matter. Bear's HTML is the note's plain text inside a `
`, with no styling, and attachment references left as Markdown text: the files are copied, not linked
- the MCP server reads only markdown files, so an export that is only HTML is invisible to it
- Apple Notes and Bear write one format per run; only Documents writes both in one sync. A run removes only old files of its own format, so switching leaves the other format's files in the folder. For both formats, give each its own folder:
```sh
exporter export --dest ~/Backups/notes-md --format markdown
exporter export --dest ~/Backups/notes-html --format html
```
## sync
Runs the export you configured in the app, once, incrementally, into the app's export folders.
```sh
exporter sync [--source ]... [--format markdown|html] [--full] [--json] [--quiet]
```
| flag | what it does | default |
| --- | --- | --- |
| `--source ` | only this app, repeatable | every connected app; unconnected ones are skipped |
| `--format markdown\|html` | this run only, your app setting is unchanged. It lands in the same export folder as the other format; to keep both, export each to its own folder with `export --dest` | your app setting |
| `--full` | re-export everything. It removes only the files Exporter wrote before writing; anything else in the export folder stays | off |
| `--json` | a machine-readable summary | off |
| `--quiet`, `-q` | errors only | off |
```sh
exporter sync --source apple
```
```text
apple notes: exporting…
apple notes: 1204 of 1204 exported · 3 removed · 18.2s · markdown → /Users/me/Documents/notes
```
The summary line is `: of exported`, then when present `N failed`, `N removed` (files of items that were deleted, renamed or moved), `N attachment issues`, then the duration, the format and the folder written.
If the app is running, `sync` exports nothing, exits 0 and prints `Exporter is running: real-time sync is live, the export root is already current.`
## export
A one-shot export to a folder of your choice, for snapshots and scripts. It runs fine while the app is open.
```sh
exporter export --dest [--source ] [--format markdown|html] [--organize folders|tags|smart] [--folder "Name"]... [--tag name]... [--dry-run] [--json] [--quiet]
```
| flag | what it does | default |
| --- | --- | --- |
| `--dest ` | required. Must be inside a folder granted on the app's Command Line card ("add folder"). A grant on `~/Backups` covers every folder below it | none |
| `--source ` | the app to export | `apple` |
| `--format markdown\|html` | the format for this run | your app setting |
| `--organize folders\|tags\|smart` | Apple Notes only: how notes are laid out in folders, for this run | "Organize" on the card |
| `--folder "Name"` | only this Apple Notes folder, repeatable, name matched without case | the selection saved in the app |
| `--tag name` | only this tag, repeatable, Apple Notes or Bear | the selection saved in the app |
| `--dry-run` | print what would be exported, write nothing | off |
| `--json`, `--quiet` (`-q`) | as for sync | off |
With no `--folder` or `--tag`, Apple Notes and Bear export the selection saved in the app. Logseq exports the whole graph; Contacts, Messages, Screen Time and Documents export what their card has ticked, the same as `sync`; filters are ignored for them with a note. For Documents, `--dry-run` prints `would convert document(s)`, and a run notes the files it cannot read: `note: 3 file(s) skipped: not a format any engine converts.`
```sh
exporter export --dest ~/Backups/notes-$(date +%F)
exporter export --dest ~/Backups/work --folder "Work" --format html
exporter export --dest ~/Backups/bear --source bear --tag journal
exporter export --dest ~/Backups/people --source contacts
exporter export --dest ~/Backups/papers --source documents
exporter export --dest ~/Backups/notes --dry-run
```
```text
would export 100 apple notes · markdown → /Users/me/Backups/notes
```
## list
```sh
exporter list sources|folders|tags|dests [--source apple|bear] [--json]
```
| list | what it shows | JSON |
| --- | --- | --- |
| `sources` | each app, connected or not, with its count. Documents is not listed | `[{"source": "apple", "connected": true, "notes": 1204}, {"source": "messages", "connected": true, "conversations": 1532}, {"source": "bear", "connected": false}]`, with `pages` for logseq, `contacts`, and `days` for `screen-time` |
| `folders` | Apple Notes folders with note counts, indented by depth. `--source bear` is an error (exit 64) | `[{"name": "Work", "notes": 42, "level": 0}]` |
| `tags` | tags with counts, Apple Notes by default, Bear with `--source bear` | `[{"name": "journal", "notes": 12}]` |
| `dests` | folders `export --dest` may write to, plus each app's export folder | `[{"path": "/Users/me/Backups", "kind": "granted"}]`, where `kind` is `granted`, `granted, volume not mounted` or `export root (apple-notes)` |
```sh
exporter list folders --json
```
```json
[{"name": "Work", "notes": 42, "level": 0}]
```
## status
```sh
exporter status [--json]
```
```text
apple notes connected · last export 2026-09-11 03:00
bear not connected
logseq not connected
contacts not connected
messages connected · last export 2026-09-11 03:01
screen time not connected
documents not connected
root (apple-notes) /Users/me/Documents/notes
root (messages) /Users/me/Documents/messages
destinations /Users/me/Backups
version 3.24 · free · 100 of 100 free notes used
messages free · 50 of 50 free conversations used
organize apple notes by folder · contacts in one folder
app not running
```
With `--json`: one object per app, named `apple-notes`, `bear`, `logseq`, `contacts`, `messages`, `screen-time`, `documents`, each `{"connected": true, "lastExport": "2026-09-11 03:00"}` (`null` when never exported); `destinations` (paths); `tier` (`full` or `free`, the Apple Notes unlock) and `freeNotesUsed`; `contactsTier` and `freeContactsUsed`; `messagesTier` and `freeConversationsUsed`; `screenTimeTier` and `freeDaysUsed`; `organize` (`{"appleNotes": "folders", "contacts": "flat"}`, the cards' "Organize"); `appRunning`. Times are local, `yyyy-MM-dd HH:mm`.
## log
The recent export runs, newest first: the same log the app shows, from every export folder and granted `--dest` folder. Dated folders created under a granted folder are not read; their record is in `/.exporter/`.
```sh
exporter log [--last N] [--json]
```
| flag | what it does | default |
| --- | --- | --- |
| `--last N` | how many runs | 10 |
| `--json` | one object per run | off |
```text
2026-09-11 03:00 apple-notes 1204/1204 exported 3 removed clean → /Users/me/Documents/notes
```
JSON: `[{"source", "finishedAt", "selected", "succeeded", "failed", "format", "status", "destination", "prunedFiles", "runError"}]`. `status` is `clean`, `warnings` (attachments missing) or `failures`.
## doctor
Checks that headless export will work and prints one line per check: `ok`, `FAIL` with a `fix:` line under it, `warn`, or `--` for information.
```sh
exporter doctor
```
It checks that each connected app's database is readable and its export folder writable, that every stored folder grant resolves, that every `--dest` folder is writable, the index, and the installed command. It ends with the version tier, whether the app is running, and the last crash if there was one. Exit 0 prints `all good.`, exit 2 prints `N problem(s) found.`
## report
Prints a diagnostic report (app version, macOS and hardware, connection state, recent runs, last crash; no note contents) and copies it to the clipboard.
```sh
exporter report [--send] [--email ]
```
| flag | what it does | default |
| --- | --- | --- |
| `--send` | submits the report to us and prints `sent.`, or `offline: queued, will send on the next run or app launch.` | off |
| `--email ` | adds your address so we can reply | none |
## help and version
- `exporter help [topic]`: topics `sync`, `export`, `list`, `status`, `log`, `doctor`, `report`, `cron`, `install`. Help for a command shows your current settings as the defaults
- `sync`, `export`, `list`, `log` and `report` also take `--help` or `-h`
- `exporter version` (or `--version`, `-v`) prints `exporter 3.24`
- `exporter` alone in a terminal prints the overview and exits 64
## JSON output
`--json` works on `sync`, `export`, `list`, `status` and `log`. Output is pretty-printed with sorted keys. For `sync` and `export` add `--quiet`: without it the progress and note lines are printed on stdout before the JSON. `export` prints one summary object, `sync` prints `{"runs": [...]}` with one per source:
```json
{
"attachmentIssues" : 0,
"durationSec" : 18.2,
"failed" : 0,
"format" : "markdown",
"root" : "/Users/me/Documents/notes",
"runError" : null,
"selected" : 1204,
"source" : "apple-notes",
"status" : "clean",
"succeeded" : 1204
}
```
While the app is running, `sync` prints its one line and no JSON. Errors go to stderr as `error: `.
## Exit codes
| code | meaning |
| --- | --- |
| 0 | ok, including a run the free allowance cut short |
| 1 | export failures: an item failed, the run hit an error, or it selected items and wrote none |
| 2 | needs setup: app not connected, folder not granted, folder or tag not found, nothing to export; `doctor` found problems; the installed command is an old format or the app it points at is gone |
| 64 | usage: unknown command or flag, missing or bad value, `--folder` with Bear, `list folders --source bear`, `exporter` alone in a terminal |
## Where files land
`sync` writes to the export folder set for each app in Exporter, like `~/Documents/notes` or `~/Documents/messages`; `export` writes to `--dest`. A folder at your home level or one below it, like `~/Documents` itself, gets a per-app subfolder (`notes-export`, `messages-export` and so on), and a deeper folder is used as it is. The summary line (after the arrow) and the JSON `root` show the real folder.
Each export folder holds `.exporter/last-export.json` and `.exporter/last-export.md` (the last run) and `.exporter/history/` (the last 50 runs). Every app also keeps `.exporter/files.json`, every file a run wrote: the next run removes only files listed there that no item produces any more, so notes you deleted, renamed or retagged lose their old file (Screen Time never removes a day file). Apple Notes and Logseq exports also get `bases/` with Obsidian views.
## Free allowance
The command line has the same allowances as the app:
| app | free |
| --- | --- |
| Apple Notes | 100 notes |
| Contacts | 100 contacts |
| Messages | the 50 most recent conversations |
| Screen Time | the 10 most recent days at the first sync, and only those: later days need the unlock |
| Documents | the 10 most recently modified documents |
| Bear and Logseq | unlimited |
Items already exported keep re-syncing free; the allowance only stops new ones. A run that reaches it still exports what it may, exits 0, and prints a note (not under `--quiet`):
```text
note: 42 note(s) skipped: free version limit (100 of 100 free notes). upgrade in the app to export everything.
note: 58 contact(s) skipped: free version limit (100 of 100 free contacts). unlock contacts in the app to export everything.
note: 1522 conversation(s) skipped: free version limit (50 of 50 free conversations). unlock messages in the app to export everything.
note: 11 day(s) skipped: free version limit (10 of 10 free days). unlock screen time in the app to archive every day.
note: 5 document(s) skipped: free version limit (10 of 10 free documents). unlock documents in the app to convert every one.
```
`status --json` carries the tier and used count for Apple Notes, Contacts, Messages and Screen Time. Each limited app unlocks with its own one-time in-app purchase inside Exporter, [priced per country](https://exporter.dev/pricing), no subscription and no web checkout. The command line reads the purchase on every run; if the App Store does not answer within 5 seconds, the run continues on the free allowance.
## Scheduling
`exporter help cron` prints these lines with the full path of the command on your Mac: use that, because cron's PATH may not include the install folder. In a crontab, escape `%` as `\%`:
```sh
0 3 * * * exporter sync
0 3 * * * exporter export --dest ~/Backups/notes-$(date +\%F)
```
For Carbon Copy Cloner and other backup tools, run `exporter sync` as a pre-flight script and branch on the exit code. The command stays attached for the whole export, even when macOS suspends it with no one logged in. While the app is running, with its window open or closed, `sync` is a no-op: real-time sync already keeps the folder current.
A backup tool that runs its scripts as root (Carbon Copy Cloner does) must start `exporter` inside the logged-in user's session, not only as that user. `sudo -u` alone stops it at once with exit code 133; put `launchctl asuser` in front:
```sh
/bin/launchctl asuser "$(id -u "$CONSOLE_USER")" /usr/bin/sudo -u "$CONSOLE_USER" exporter sync
```
## MCP server
The app, not the command line, runs a local MCP server that lets Claude, Cursor, VS Code and other clients search and read your exports, at `http://localhost:8744/mcp`. [The MCP server page](https://exporter.dev/docs/mcp) covers everything about it, from starting it to its six tools.
## Troubleshooting
Run `exporter doctor` first; every failing check prints its fix. [Help](https://exporter.dev/docs/help) covers the app's messages too.
- `X is not authorized`: add the folder (or a parent) on the Command Line card, then re-run. `exporter list dests` shows what is granted
- `apple notes is not set up. open Exporter and connect Apple Notes + an export folder.` (the same for each app): connect it in Exporter
- `sync` prints that Exporter is running: nothing to do, the app keeps the folder current. Use `export --dest` for a separate copy
- `no notes were written. run "exporter doctor" to check folders and permissions.`: the run selected notes and wrote none; `doctor` checks the folders and permissions
- `bookmark broken`: the folder was moved, deleted, or its volume is not mounted. Choose it again in the app
- the installed command is an old format, or cron and backup tools see exit 19: paste the install command again
- the app moved since you installed the command: paste the install command again
- unlocked but the run says free: the purchase check waits at most 5 seconds, then continues on the free allowance. Run again
- a problem doctor cannot explain: `exporter report --send --email you@example.com`
## Related
- [MCP server](https://exporter.dev/docs/mcp): Connect Claude and other agents
- [For agents](https://exporter.dev/agents): Skills, command line and MCP for agents
- [Apple Notes](https://exporter.dev/docs/notes): Folders, fields, HTML and fixes
- [Changelog](https://exporter.dev/changelog): What changed in each version
---
human version: https://exporter.dev/docs/cli
every page: https://exporter.dev/llms.txt
# Contacts
How the Contacts export works, from connecting to fixing problems.
## Connect
Press "Connect" beside Contacts on Exporter's home, then "Open Contacts Folder". The panel opens in your AddressBook folder, `~/Library/Application Support/AddressBook`: press "Select This Folder". Exporter reads only that folder, with no permission prompt, and reads your iCloud and Exchange cards from it too. Then choose where the files go and press "Use This Folder".
## Where the files go
One Markdown file per card, `Anna Kowalski.md`. Two people with the same name each get a short id suffix, so neither file overwrites the other. A folder right in your home folder, like `~/Documents`, gets a `contacts-export` folder inside it; a deeper one, like `~/Documents/contacts`, is used as it is.
"Organize" on the card sets the folder layout, and the path at the end of the same line shows where a card lands:
| organize | files land in |
| --- | --- |
| one folder | the top of the export folder |
| by group | `groups//`; a card in two groups is written once, under the first |
| by company | `companies//` |
Changing it moves the files on the next sync, and the card says so. By group and by company show a tree that ends with "Not in a group" and "No company"; one folder shows the cards, with a recent pill for the 100 most recently changed.
## What is exported
The cards ticked on the card, with every field they have. Left out: the email-only entries Gmail collects for every address you wrote to. There is no vCard or CSV export: for a `.vcf`, use File > Export > Export vCard in Contacts.
## Format
Always Markdown.
## The file
Each key appears only when the card has a value. List values carry their label, like `+1 415 555 0123 (mobile)`.
| key | holds |
| --- | --- |
| `title` | the name |
| `aliases` | the nickname and the maiden name |
| `id`, `source_url` | the card's id, and an `addressbook://` link that opens it in Contacts |
| `created`, `modified` | when the card was made and last changed |
| `organization`, `job_title`, `department` | the work lines |
| `birthday` | the birthday |
| `email`, `phone` | the first email and phone, plain, for templates |
| `emails`, `phones`, `addresses`, `urls` | every one, with its label |
| `social`, `im` | social profiles and messaging accounts |
| `dates`, `relationships` | other dates and related names, like `father: Tom Kowalski` |
| `groups` | the Contacts groups the card belongs to |
| `conversations` | links to the card's conversations, when Messages is exported too |
The body is the name, the job line and the card's note:
```markdown
---
title: "Anna Kowalski"
id: "410FE041:ABPerson"
created: 2019-04-02T10:15:33
modified: 2026-08-30T19:02:11
source_url: "addressbook://410FE041:ABPerson"
organization: "Northwind Studio"
job_title: "Art director"
birthday: 1990-12-10
email: "anna@northwind.example"
phone: "+1 415 555 0123"
phones:
- "+1 415 555 0123 (mobile)"
groups:
- "Studio"
---
# Anna Kowalski
Art director · Northwind Studio
Met at the print fair.
```
## Free and unlocked
Your first 100 cards among the ones you ticked export and keep syncing free, and a deleted card gives its place back; the rest need the one-time unlock ([pricing](https://exporter.dev/pricing)).
## Sync and full resync
After the first "Sync Now", an edited card rewrites its file while Exporter runs, and a deleted card's file leaves on the next sync.
"Full Resync" asks first, then removes only the files Exporter wrote, writes every card again and picks the free 100 again. Anything else in the export folder stays.
## Problems and fixes
- "no contacts database in that folder (pick the AddressBook folder itself)": press "Connect" again and select the folder the panel opens in
- files moved into other folders: "Organize" changed. Pick the layout you want and press "Sync Now"
- a card is missing: it is past the free 100, unticked, or an email-only entry from Gmail
- a failed card: `last sync` shows a red "details" link with the cards that failed and an "open" link to each
## Related
- [Contacts](https://exporter.dev/contacts): Every contact card as a Markdown file
- [Contacts guides](https://exporter.dev/guides/contacts): People notes in Obsidian
- [Messages](https://exporter.dev/docs/messages): Conversations, media, fields and fixes
---
human version: https://exporter.dev/docs/contacts
every page: https://exporter.dev/llms.txt
# Documents
How the Documents export works, from connecting to fixing problems.
## Connect
Press "Connect" beside Documents on Exporter's home, then "Choose Documents Folder", and choose the folder your documents are in; everything inside it, subfolders included, is read. The panel opens in `~/Documents` and can make a new folder. Then choose where the Markdown goes and press "Use This Folder". Keep it apart from the documents: "Change…" beside "Saves To" on the card moves it to a folder like `~/Documents/converted`.
The export folder cannot be the documents folder or a folder inside it, and the documents folder cannot sit inside the export folder: the app does not let you pick either.
## Where the files go
Each output sits where its document sits in your folder, in the same folder shape: `report.md`, and `report.html` beside it when HTML is ticked. Two documents with the same name in one folder keep their extension in the file name: `report-pdf.md`, `report-docx.md`. A folder right in your home folder, like `~/Documents`, gets a `documents-export` folder inside it; a deeper one is used as it is.
## What is read
| kind | files |
| --- | --- |
| Word and text | `.doc`, `.docx`, `.docm`, `.odt`, `.rtf` |
| Slides | `.ppt`, `.pps`, `.pot`, `.pptx`, `.pptm`, `.ppsx`, `.ppsm`, `.odp` |
| Spreadsheets | `.xls`, `.xlsx`, `.xlsm`, `.xlsb`, `.ods`, `.csv` |
| PDF and books | `.pdf`, `.epub` |
Left out: Pages, Numbers and Keynote files (export them to Word, PowerPoint, Excel or PDF first), hidden files, files inside packages, and symlinks. The tabs filter the list: All, PDF, Word, Slides, Sheets, Books and Scans.
## Scanned pages
A PDF page with no text is read by Apple's text recognition on your Mac; nothing is uploaded. A page it cannot read becomes `> page : scanned page could not be read`. Text recognition runs on PDFs only.
## Markdown and HTML
Tick "Markdown", "HTML" or both on the `format` row; at least one stays ticked. Documents is the only app that writes both in one sync. The HTML is plain, with no styling. The MCP server reads the Markdown only.
## The file
| key | holds |
| --- | --- |
| `title` | the file name without its extension |
| `source` | the document's path inside your documents folder |
| `format` | the original extension |
| `pages` | the page count of a PDF |
| `scanned` | `true` when text recognition read the pages |
| `modified` | when the document last changed |
```markdown
---
title: "Quarterly report"
source: "Work/Quarterly report.pdf"
format: pdf
pages: 12
scanned: true
modified: 2026-08-30T17:02:11Z
---
# Quarterly report
```
## Free and unlocked
Your 10 most recently modified documents among the ones you ticked convert free, and both formats of one document count once; the rest need the one-time unlock ([pricing](https://exporter.dev/pricing)).
## Sync and full resync
After the first "Sync Now", Exporter watches the folder while it runs and converts what changed a few seconds after you save. A document whose Markdown is already newer than it is skipped without being opened, so a big folder stays fast. The convert button at the end of a row converts that one document now, ticked or not. A deleted document's output leaves on the next sync.
"Full Resync" asks first, then removes only the files Exporter wrote in the export folder and converts your documents again.
## Problems and fixes
- a red triangle on a row gives the reason the document failed, such as "this document is password protected" or "this document is damaged and is missing part of its contents". Fix it in the app that made it, then press the convert button at the end of the row
- a lock on a row, "free limit reached · unlock documents to convert this one": the document is past the free ten
- "that folder could not be opened": the documents folder moved or its drive is not mounted. Press "Connect" again
- a Pages, Numbers or Keynote file is missing: export it to Word, PowerPoint, Excel or PDF, and the result converts
## Related
- [Documents](https://exporter.dev/documents): Word, slides, sheets and PDFs to Markdown
- [Documents guides](https://exporter.dev/guides/documents): Documents Claude can read
- [Help](https://exporter.dev/docs/help): Problems and questions, with fixes
---
human version: https://exporter.dev/docs/documents
every page: https://exporter.dev/llms.txt
# Get started
Connect an app, choose where the files go, choose what syncs.
Exporter reads apps on your Mac and writes what it finds as files in a folder you choose, then keeps those files current as you keep using the apps. Every app is set up the same way, in one sheet of three pages: connect it, choose where its files go, choose what syncs.
## Install
Get Exporter from the Mac App Store ([download](https://exporter.dev/download)), where it is listed as "Exporter: Notes to Markdown". It runs on macOS 15 or later on Apple silicon. There is no account and nothing to sign in to.
## Connect an app
On first launch a welcome takes you through Apple Notes. Every other app starts on Exporter's home: an app that is not connected is one row with "Connect" at its end. Bear and Logseq show only when they are installed.
1. Press "Connect" beside the app, then the button on the sheet's first page, like "Open Apple Notes Folder".
2. A folder panel opens already inside that app's data folder. Choose nothing inside it and press "Select This Folder". Logseq and Documents ask for a folder of your own instead: the graph, or the folder your documents are in.
That is the whole permission: no Full Disk Access and no macOS prompt. Exporter reads that one folder, read-only, and remembers it.
## Choose where the files go
The sheet's next page offers a folder in Documents, or your Obsidian or Wander vault; press "Use This Folder". For any other folder, press "Options…" on the last page, or later "Change…" beside "Saves To" on the app's card. How deep the folder is decides where the files land:
| you choose | files land in |
| --- | --- |
| your home folder, or a folder right in it, like `~/Documents` or `~/Dropbox` | a new subfolder inside it, like `~/Documents/notes-export` |
| a deeper folder, like `~/Documents/notes` | that folder, as it is |
"Saves To" on the card shows the real folder. Give each app its own folder, like `~/Documents/notes` and `~/Documents/messages`; the [MCP server](https://exporter.dev/docs/mcp) serves every one of them, wherever it is.
## Run the first export
The sheet's last page asks what syncs, and its button counts what it will write, like "Sync 100 Notes Free". "Continue in App" closes the sheet while it writes; the app's card shows how far it is. When it finishes, the card's line says when it synced, and real-time sync is on for that app: from then on a change in the app is written to its file on its own. Later syncs are "Sync Now" on the card.
Each export folder also gets `.exporter/`, the record of each run that the Export log (the clock icon) shows. What else lands in the folder, and every field inside the files, differs per app: each app has its own page in the docs, like [Apple Notes](https://exporter.dev/docs/notes).
## What keeps running
- closing the window stops nothing: the app keeps syncing, with its Dock icon, until you quit it. Quitting stops real-time sync and the MCP server
- Settings > "Open at Login" starts Exporter after a restart, so syncing picks up on its own
- Settings > "Show in Menu Bar" adds a menu bar icon with each app's status, and the window no longer opens at launch
- real-time sync has no switch. It starts with an app's first "Sync Now" and stops when you press "Disconnect", which forgets the app's folder and leaves the exported files where they are
- with the app quit, `exporter sync` from [the command line](https://exporter.dev/docs/cli) catches up
## Unlocking
Each app exports free up to its allowance (Bear and Logseq have no limit), and whatever it exported keeps syncing free. The unlock button on an app's card is a one-time purchase for that app, no subscription, and "Restore Purchases" brings it back on another Mac ([pricing](https://exporter.dev/pricing)).
## What full resync removes
"Full Resync" on a card asks first, then removes only the files Exporter wrote in the export folder. Then it exports again and picks the free items again. Anything else in the folder stays: your own notes, an Obsidian vault's `.obsidian`, a folder of documents. Still, give every export a folder of its own, so its files and yours stay apart.
A normal sync removes only files Exporter wrote itself that no item produces any more.
## Backups
The export folder is a mirror: an item you delete in its app is removed from it on the next sync, so it is not an archive. For dated copies that never change, [Back up Apple Notes](https://exporter.dev/guides/notes/back-up-apple-notes) sets up nightly snapshots with the command line. Restoring means copying files back: Exporter never writes into your apps.
## Related
- [Apple Notes](https://exporter.dev/docs/notes): Folders, fields, HTML and fixes
- [Guides](https://exporter.dev/guides): One job each, step by step
- [Help](https://exporter.dev/docs/help): Problems and questions, with fixes
---
human version: https://exporter.dev/docs/getting-started
every page: https://exporter.dev/llms.txt
# Help
Common problems, with the fix for each.
## Problems and questions
For anything on the command line, run `exporter doctor` first: it prints a fix under each failing check.
### Exporter says "that is not the Apple Notes folder"
You selected a folder other than the one the panel opened in. Press "Try Again", then "Select This Folder" without opening anything. Other apps say it in their own words, like "no chat.db in that folder"; the fix is the same, and for Logseq select the graph folder that holds `db.sqlite` or `pages/`.
### A connected app reads "not connected" again
The folder Exporter remembered was moved, deleted, or is on a drive that is not mounted. Connect the app again, or mount the drive.
### Nothing was exported
The card needs a folder in `export to`, one press of "Sync Now" (real-time sync starts after it) and something ticked in its list. On Messages, "Sync Now" waits for the first pass over your history. The Export log (the clock icon) shows the error that stopped a failed run.
### The export stopped at 100 notes, or 50 conversations
That is the free allowance: what was exported keeps syncing, and new items are left out while the card says "free limit reached". The app does not say how many it left out; `exporter sync` prints the count. Unlock the app on its card ([pricing](https://exporter.dev/pricing)).
### I unlocked, but the export is still limited
Press "Sync Now" on the card: the next sync writes everything, every Messages conversation included. On another Mac, press "Restore Purchases" first.
### Edits do not show up in the files
Exporter has to be running: closing the window is fine, quitting stops syncing (`exporter sync` catches up). Real-time sync starts after the first "Sync Now" on that card. The item may also be unticked or past the free allowance. Each app's page under [Apps](https://exporter.dev/docs) lists its own problems and fixes.
### An image or attachment is missing
Its file is not on this Mac yet, for example one Apple Notes or Messages has not downloaded; the Export log lists it as "source file not found". Open the note or conversation so it downloads, then sync again.
### Files of deleted notes are still in the export
Every app removes them on the next sync, Bear's retagged notes and Logseq's renamed pages included; press "Sync Now" if Exporter was not running. Screen Time keeps every day on purpose, and an item you untick keeps its last file.
### Markdown and HTML files are mixed in one folder
A sync removes only old files of the format it writes, so switching formats leaves the other ones behind. Give each format its own export folder.
### What does "Full Resync" remove?
Only the files Exporter wrote in the export folder. Then it exports again and picks the free items again. Anything else in the folder stays: your own notes, a vault's `.obsidian`, a folder of documents.
### Claude cannot see my exports
The MCP server runs inside the app, reads Markdown only, and serves only the export folders next to the Apple Notes one. Keep the folders side by side, then press "Stop" and "Start" on the MCP Server card. [The MCP server](https://exporter.dev/docs/mcp) has the rest.
### exporter: command not found
Press "Copy Install Command" on the Command Line card, paste it in Terminal and open a new window: the sandboxed app cannot write to your PATH itself. In cron, use the full path `exporter help cron` prints. When the card says "needs reinstall", or a backup tool sees exit code 19, paste the install command again.
### exporter sync says Exporter is running
Nothing to fix: the app already keeps the folders current, so `sync` does nothing. For a separate copy while the app runs, use `exporter export --dest`.
### exporter export says a folder is not authorized
`--dest` must be inside a folder granted on the Command Line card: press "add folder…" under "Export Destinations". `exporter list dests` shows what is granted.
### Can Exporter change my data, or upload it?
No. It only reads your apps, the Apple Notes database read-only, and writes only into the export folders you choose, where it removes only files it wrote itself. There is no account and no upload ([privacy](https://exporter.dev/privacy)).
### Which Macs does it run on?
Macs with macOS 15 or later. Since version 3.23 it is built for Apple silicon only; 3.22 was the last version for Intel Macs. There is no iPhone or iPad version.
### How do I reach support?
In the app, Help & Support (the question mark) sends a problem, an idea or a question, and exporter@tinysend.com reaches Anton directly. From Terminal, `exporter report --send --email you@example.com` sends a diagnostic report with no note contents.
## Related
- [Getting started](https://exporter.dev/docs/getting-started): Install, connect, first export
- [Guides](https://exporter.dev/guides): One job each, step by step
- [Contact](https://exporter.dev/contact): Feedback, email and updates
---
human version: https://exporter.dev/docs/help
every page: https://exporter.dev/llms.txt
# Linear
How the Linear export works, from connecting to fixing problems.
## Connect
Press "Connect" beside Linear under Cloud on Exporter's home. Sign in with Apple; your browser opens Linear's page, where you press "Authorize". Exporter asks Linear only to read. Back in Exporter, choose where the files go and press "Use This Folder".
Linear's token stays on Exporter's server, sealed. Your Mac signs in to that server and never holds it.
## Choose items
The pick page lists every issue, project and document, all ticked, with three tabs: Issues, Projects and Documents. Untick what you don't want; its file stays out.
## Where the files go
A folder right in your home folder, like `~/Documents`, gets a `linear-export` folder inside it; a deeper one is used as it is.
- Issues: a folder per team, one file each, named by the issue's id and title: `Northwind/NW-142 Invite flow.md`
- Projects: `Projects/Q4 launch.md`
- Documents: `Documents//.md`
## The file
An issue's front matter carries `id`, `team`, `state`, `priority`, `assignee`, `creator`, `labels`, `project`, `cycle`, `parent`, `estimate`, `due` and the dates, with `source_url` opening it in Linear. Then the title, the description and every comment, oldest first. A project carries its status, lead, teams and dates; a document its project, team and creator. Times are in UTC.
## Sync
Linear tells Exporter's server about every change. The server rewrites the file at once and tells your Mac, which downloads it, so an edit arrives in seconds, a minute at most. An issue you rename moves its file; one you archive, trash or delete loses it. "Sync Now" asks the server first; "Full Resync" writes every file again.
## Exporter Cloud
The first 7 days are free from your first connect. Then Exporter Cloud is a subscription in the App Store: Linear on its own, or All Cloud for every cloud source we add, monthly or yearly. When a plan ends, syncing stops and your files stay. Thirty days later the server deletes its copies and the token.
## Account
Settings › Account shows the email you signed in with. "Sign Out" keeps the connection for when you sign in again. "Delete Account…" disconnects every workspace and deletes everything the server holds for you. The files on your Mac stay.
## Command line
`exporter export --source linear --dest ` writes the workspace's files into a folder granted on the Command Line card. See [the command line](https://exporter.dev/docs/cli).
## Problems and fixes
- The card says "Connect Again…": Linear no longer accepts the connection, often because the app was removed in Linear's settings. Press it and authorize again.
- The card says "Sign In…": the session ended. Sign in with the same Apple account and syncing carries on.
- An issue is missing: check it is ticked, then press "Sync Now". Archived issues are not exported.
## Related
- [Linear](https://exporter.dev/linear): Issues, projects and docs as files
- [Linear guides](https://exporter.dev/guides/linear): Obsidian and Claude Code
- [Pricing](https://exporter.dev/pricing): Free allowances, unlocks and Exporter Cloud
---
human version: https://exporter.dev/docs/linear
every page: https://exporter.dev/llms.txt
# Logseq
How the Logseq export works, from connecting to fixing problems.
## Connect
Logseq shows on Exporter's home when it is installed. Press "Connect" beside it, then "Open Logseq Graph Folder", and select your graph's own folder, the one that holds `db.sqlite` (a database graph) or `pages/` (a classic graph). The card's `graph` row names it, with "(db)" or "(classic)". Then choose where the files go and press "Use This Folder".
## Where the files go
- `pages/`: one file per page, with namespaces as folders, so `projects/poster` is `pages/projects/poster.md` and `[[projects/poster]]` keeps resolving
- `journals/`: one file per day, like `journals/2026-09-01.md`, ready for Obsidian's daily notes
- `bases/`: the same three Obsidian views as the Apple Notes export
A folder right in your home folder, like `~/Documents`, gets a `logseq-export` folder inside it; a deeper one is used as it is.
## What is exported
The whole graph, every page and journal: the card has no list and no tabs. One graph at a time.
The outline stays nested bullets. `TODO`, `LATER`, `NOW`, `DOING` and `WAITING` become `- [ ]`; `DONE` and `CANCELED` become `- [x]`.
## Format
Always Markdown.
## The file
| key | holds |
| --- | --- |
| `title` | the page's name |
| `aliases` | the page's aliases |
| `id` | Logseq's id for the page |
| `created`, `modified` | the page's dates |
| `source_url` | a `logseq://` link that opens the page in Logseq |
| `tags` | the page's tags |
| `word_count`, `reading_time` | words, and minutes to read |
| `source`, `source_graph` | `logseq`, and the graph's name |
| then | the page's own properties, like `status` |
```markdown
---
title: "projects/poster"
id: "66d9f3a2"
created: 2026-03-14T09:20:00
modified: 2026-05-02T18:40:12
source_url: "logseq://graph/notes?page=projects%2Fposter"
tags:
- "print"
word_count: 19
reading_time: 1
source: "logseq"
source_graph: "notes"
status: "draft"
---
- Poster for the spring show
- [x] Pick the blue render
- [ ] Try a second type size
- Printer quotes in [[Print shops]]
```
## Free
Logseq exports free, with no limit and no purchase.
## Sync and full resync
After the first "Sync Now", your edits in Logseq are written to the export while Exporter runs. When you rename or delete a page, the next sync removes its old file.
"Full Resync" asks first, then removes only the files Exporter wrote and writes the whole graph again. Anything else in the export folder stays. To switch graphs, press "Disconnect", connect the other graph, then "Full Resync" so the first graph's files leave.
## Problems and fixes
- "not a logseq graph (pick the folder with db.sqlite or pages/)": select the graph's own folder, not the folder of graphs above it
- another graph's files in the export: press "Full Resync" after switching graphs
## Related
- [Logseq](https://exporter.dev/logseq): Logseq pages and journals as Markdown
- [Logseq guides](https://exporter.dev/guides/logseq): Your graph in Obsidian
- [Help](https://exporter.dev/docs/help): Problems and questions, with fixes
---
human version: https://exporter.dev/docs/logseq
every page: https://exporter.dev/llms.txt
# Mail
How the Mail export works, from connecting to fixing problems.
## Connect
Press "Connect" beside Mail on Exporter's home (it is under "More Apps" until you connect it), then "Open Mail Folder". The panel opens on `~/Library/Mail`: select that folder itself. Then choose where the files go and press "Use This Folder".
Exporter reads the mail Mail keeps on your Mac through the folder you granted. It asks for no mail permission, no account and no Full Disk Access.
## Choose emails
The pick page has two tabs, and an email syncs when both tick it.
- Kinds: Mail's own tabs. Primary, Transactions, Updates, Promotions, and Not Sorted by Mail for the rest. Updates and Promotions start unticked.
- Accounts: each account by its address, with its mailboxes inside. Drafts and Trash start unticked.
Deleted mail, Spam and Junk never sync, whatever is ticked. The count above the list is what the two tabs leave together.
## Where the files go
One Markdown file per email, named by its day, its subject and a number: `2026-09-28 Your order has shipped 491560.md`. A folder right in your home folder, like `~/Documents`, gets a `mail-export` folder inside it; a deeper one is used as it is.
Organize, in "Options…" on the card, sets the folders:
- By Date: `2026/09/`, a folder per year and month
- By Account: a folder per account, then the year
- By Kind: `primary/`, `transactions/`, `updates/`, `promotions/`, `unsorted/`, then the year
Changing Organize moves every file at the next sync. Nothing is left at the old place.
## The file
The front matter carries `from`, `to`, the `mailbox`, `read`, `flagged` when it is, the `account` and the `kind`, with `source_url` opening the email in Mail. Then the subject as the title and the body as Markdown: headings, lists, tables and links. Attachments stay in Mail. An email whose body Mail never downloaded says so in its file.
## Free and unlocked
Your newest 1,000 emails export and keep syncing free. "Unlock Mail" is a one-time purchase: after it, press "Sync Now" and the rest of what is ticked syncs. A first sync of a large mailbox that you quit carries on where it stopped.
## Sync
While Exporter runs, it watches Mail's index, and new mail becomes files on its own. "Sync Now" runs it by hand; "Full Resync" writes every file again.
## Command line
`exporter sync --source mail` syncs Mail like the card's "Sync Now". `exporter export --source mail --dest ` writes the emails into a folder granted on the Command Line card and leaves the card's own sync alone. See [the command line](https://exporter.dev/docs/cli).
## Problems and fixes
- The pick page says no mail: select `~/Library/Mail` itself in the panel, not a folder inside it. Disconnect and connect again to get the panel back.
- An account is missing: an account with no email to write (an empty Outbox, say) is not listed.
- A file says the body was not downloaded: Mail has only the headers. Open the email in Mail once and the next sync writes the body.
## Related
- [Mail](https://exporter.dev/mail): Every email as a Markdown file
- [Messages](https://exporter.dev/docs/messages): Conversations, media, fields and fixes
- [MCP server](https://exporter.dev/docs/mcp): Connect Claude and other agents
---
human version: https://exporter.dev/docs/mail
every page: https://exporter.dev/llms.txt
# The MCP server
Let Claude and other agents search what you exported.
Exporter runs an MCP server inside the app. It serves your export folders to Claude, Cursor, VS Code and any other MCP client, read-only and on your Mac only. For the skills and the command line an agent can use too, see [For agents](https://exporter.dev/agents).
## Start it
1. Export at least one app as Markdown ([get started](https://exporter.dev/docs/getting-started)). The server reads Markdown files only.
2. On the MCP Server card, press "Start". The card then shows `localhost:8744` and a "Connect" row.
The endpoint is `http://localhost:8744/mcp` (Streamable HTTP), on a fixed port. The server lives in the app: it answers while Exporter runs, window open or closed, and stops when you quit. If it was running when you quit, it starts again with the app. `curl -s http://127.0.0.1:8744/health` answers `OK` while it is up.
## Connect Claude Code
```sh
claude mcp add --transport http exporter http://localhost:8744/mcp
```
Add `--scope user` to have it in every project. The card's "Claude Code" button copies this command.
## Claude Desktop, Cursor and VS Code
- Claude Desktop: press "Claude Desktop" on the card. It copies an entry that runs `npx -y mcp-remote http://localhost:8744/mcp` (`npx` comes with Node.js). Paste it inside `mcpServers` under Settings > Developer > Edit Config, save, then quit Claude and open it again
- Cursor or VS Code: press "Cursor" or "VS Code" on the card. The editor opens with the server ready to install; confirm there
## Which folders it serves
Every export folder, wherever it is, each under its own folder's name, like `notes` or `messages`. Two folders with the same name are told apart by their parent's name, like `export (Bear)`. The server reads its folder list when it starts, so press "Stop" and "Start" after any change.
## The six tools
| tool | what it does | parameters |
| --- | --- | --- |
| `get_stats` | per source: file count, newest and oldest dates, size. Call it first to learn the source names | `source` (optional) |
| `search` | ranked full-text search | `query`, `source` (optional), `limit` (20) |
| `read` | one item: its Markdown, front matter, modified date and size | `source`, `id` (the file name without `.md`) |
| `list` | the items of one source | `source`, `limit` (50), `offset` (0) |
| `get_recent` | the most recently changed items | `sources` (comma-separated, optional), `limit` (20) |
| `get_metadata` | counts and last sync times | `source` (optional) |
`search` covers every export. Apple Notes, Contacts and Messages are ranked over the app's index: a name finds the conversation, and a note hit carries a link that opens it in Apple Notes. Every other app's files, Mail, Calendar, Bear, Reminders and Documents among them, are scanned beside those, and the two lists take turns in the results. While the index is still empty, `search` scans the Markdown of every source.
Answers are only as complete as the export: on the free allowance that is your first 100 notes, 100 contacts and 50 most recent conversations, 10 days and 10 documents.
## Privacy
The server listens on 127.0.0.1, so nothing outside your Mac can reach it, and it only reads. What a tool returns becomes part of your conversation with the AI and goes to its model, like anything you paste.
## When it does not work
- `No export folders configured. Set an export folder first.`: choose an export folder on any card
- `No exported notes found. Run an export first.`: press "Sync Now" on a card, then "Start"
- a system error on "Start": another program uses port 8744. Quit it and start again
- a source is missing: it sits outside the parent folder, was exported as HTML only, appeared after the server started, or is past the free allowance
## Related
- [For agents](https://exporter.dev/agents): Skills, command line and MCP for agents
- [Apple Notes in Claude](https://exporter.dev/guides/notes/apple-notes-in-claude): Claude searches your notes, on your Mac
- [CLI](https://exporter.dev/docs/cli): Every command, flag and exit code
---
human version: https://exporter.dev/docs/mcp
every page: https://exporter.dev/llms.txt
# Messages
How the Messages export works, from connecting to fixing problems.
## Connect
Press "Connect" beside Messages on Exporter's home, then "Open Messages Folder". The panel opens in `~/Library/Messages`: press "Select This Folder". Exporter reads only that folder, with no Full Disk Access. Then choose where the files go and press "Use This Folder".
The first pass reads your whole history into the app's index, which takes minutes on a long history; the `indexed` row shows its progress, and "Sync Now" stays greyed out until it finishes.
## Where the files go
One Markdown file per conversation, all at the top of the export folder: `Anna Kowalski.md` for a person. A group's file name carries its conversation id, like `Cabin crew-57.md`, so a new member never renames it. Photos, video and audio go into `attachments/`, a folder per conversation. A folder right in your home folder, like `~/Documents`, gets a `messages-export` folder inside it; a deeper one, like `~/Documents/messages`, is used as it is.
## What is exported
The conversations ticked on the card. The tabs only filter the list: All, People, Groups, Recent (the last 30 days), Popular (the most messages) and Unread.
A sync writes only conversations with something new. After you unlock Messages, the next sync writes every conversation. After you tick an older conversation, press "Full Resync" to write it now; otherwise it arrives when it next gets a message.
In the file, a heading per day, then one block per message: who sent it, when, and a link that opens the conversation in Messages. A reply links to the message it answers, an edit keeps each earlier version as a footnote, reactions sit on a line under the message, and every message ends with a block id you can link to. With Contacts exported too, each participant links to their contact file, and the contact lists the conversations back.
## Media
Photos, video and audio are copied into `attachments/`, and iPhone HEIC photos are converted to JPEG so editors can show them. Media that was never downloaded to this Mac is named in the file instead of embedded.
## Format
Always Markdown.
## The file
| key | holds |
| --- | --- |
| `title` | the person or the group |
| `id` | the conversation's id |
| `created`, `modified` | the first and the latest message |
| `source_url` | an `sms://` link to the first participant, which opens the conversation |
| `participants` | each person, as a link to their contact file when Contacts is exported, and `Me` |
| `is_group` | `true` for a group |
| `message_count` | how many messages |
| `service` | the conversation's service, like `iMessage` |
```markdown
---
title: "Anna Kowalski"
id: "412"
created: 2026-03-09T18:02:11
modified: 2026-03-09T18:04:10
source_url: "sms://+14155550123"
participants: ["[[contacts/Anna Kowalski]]", "Me"]
is_group: false
message_count: 2
service: "iMessage"
---
# Anna Kowalski
## Monday, March 9, 2026
**[[contacts/Anna Kowalski|Anna Kowalski]]** [open](sms://+14155550123) (2026-03-09 18:02:11)
Are we still on for the cabin weekend?
^msg-7C1E2A9B4F30
**[Me]** (2026-03-09 18:04:10)
> replying to [[#^msg-7C1E2A9B4F30]]
Yes! Ferry at 9:40 on Friday (edited) [^e1]
> 👍 Anna Kowalski
^msg-A83D5E6F0B12
[^e1]: was "Yes! Ferry at 9:10 on Friday" (2026-03-09 18:04:10)
```
## Free and unlocked
Your 50 most recent conversations among the ones you ticked export and keep syncing free; the rest need the one-time unlock ([pricing](https://exporter.dev/pricing)).
## Sync and full resync
While Exporter runs, new messages reach the index and the conversations they belong to are written again. A conversation deleted in Messages leaves the export on the next sync.
"Full Resync" asks first, then removes only the files Exporter wrote, copied media included, and writes every conversation again from the index. Anything else in the export folder stays.
## Problems and fixes
- "no chat.db in that folder (pick the Messages folder itself)": press "Connect" again and select the folder the panel opens in
- "Sync Now" is greyed out: the first pass is still running; the `indexed` row shows how far it is
- older conversations are missing after unlocking: press "Sync Now", which writes every conversation
- a photo is missing: open the conversation in Messages so the photo downloads, then sync again
- names are plain text: export Contacts too. Conversations written after that link their people, and "Full Resync" writes them all again now
## Related
- [Messages](https://exporter.dev/messages): Every conversation as a file
- [Messages guides](https://exporter.dev/guides/messages): Backups and Claude
- [Contacts](https://exporter.dev/docs/contacts): Layouts, every field and fixes
---
human version: https://exporter.dev/docs/messages
every page: https://exporter.dev/llms.txt
# Apple Notes
How the Apple Notes export works, from connecting to fixing problems.
## Connect
On first launch the welcome leads here; later, press "Connect" beside Apple Notes on Exporter's home. Then press "Open Apple Notes Folder". The panel opens in `~/Library/Group Containers/group.com.apple.notes`: press "Select This Folder" without opening anything. Exporter reads the Notes database there, read-only. Then choose where the files go and press "Use This Folder", and "Sync Now".
## Where the files go
A folder right in your home folder, like `~/Documents`, gets a `notes-export` folder inside it; a deeper folder, like `~/Documents/notes`, is used as it is. The `export to` row shows the real folder.
"Organize" on the card sets the folder layout, and the path at the end of the same line shows where a note lands:
| organize | files land in |
| --- | --- |
| by folder | Apple Notes' own folder tree |
| by tag | a folder named after the note's first ticked tag; a note with no ticked tag is left out |
| by smart folder | a folder named after its smart folder |
What you tick follows it: folders, tags or smart folders. Changing it moves every file on the next sync, and the card says so. By folder, the pills (all folders, shared, pinned, recent, popular) only filter the list: a tick there counts as a folder tick.
A file is named after the note's title, with `.` removed and `/` and `:` turned into `_`. Two notes with the same title in one folder both get six characters of their id, like `Meeting-3f9a1c.md`. Beside the notes:
- `attachments/`, next to the notes of each folder
- `bases/`: `all-notes.base`, `photo-notes.base` and `all-attachments.base`, views for Obsidian's Bases, rewritten on every export
- `.exporter/`: `last-export.json` and `last-export.md` for the last run, `history/` with the last 50, and `files.json`, the list of files Exporter wrote
## What is exported
Every note in the folders or tags ticked on the card. The first load ticks everything, and folders and tags that appear later are ticked for you; what you untick stays unticked.
Left out:
- locked notes, the ones with a password
- notes Apple Notes has not downloaded from iCloud to this Mac yet
- Recently Deleted
- the notes of a smart folder marked "so it exports nothing": its search cannot be read, so tick its notes on Folders
In the file, checklists become `- [ ]` and `- [x]`, tables Markdown tables, highlights `==text==` and links to other notes `[[wikilinks]]`. Your #tags stay in the text. Underline and text colors are dropped. Settings › Markdown writes standard Markdown links instead, `[Page](Page.md)` and ``, for apps other than Obsidian.
## Attachments
Images, PDFs, scans and drawings are copied into `attachments/` and embedded where they were, with `![[attachments/...]]`. A drawing becomes its image, with any handwriting Apple recognized quoted under it. An attachment whose file is not on this Mac is skipped, and the Export log lists it as "source file not found".
## Markdown and HTML
Markdown is the default. Choosing HTML in the format menu beside "Saves To" writes one web page per note instead: its styles inside, so nothing loads from the internet; the note's id and dates at the top in place of front matter; links between notes as links between pages; attachments copied into `attachments/` next to the page and linked, so move a page together with that folder.
One format at a time. A sync removes only old files of the format it writes, so switching leaves the other format's files behind: give each format its own folder. The MCP server reads Markdown only.
## The file
The front matter keys, always in this order, each left out when it does not apply:
| key | holds |
| --- | --- |
| `title` | the note's title |
| `id` | Apple Notes' id for the note |
| `created`, `modified` | Apple Notes' own times, with no time zone, the form Obsidian reads as dates |
| `source_url` | a `notes://` link that reopens the note in Apple Notes |
| `pinned`, `shared` | `true` when the note is pinned or shared |
| `collaborators` | the people a shared note is shared with |
| `cover` | the first image, as a wikilink to its copy in `attachments/` |
| `links` | the web links in the note |
There is no `tags` key. A note in Travel > Norway, as `Travel/Norway/Bike tour, day 2.md`:
```markdown
---
title: "Bike tour, day 2"
id: "5B7E2C19"
created: 2025-06-21T20:14:02
modified: 2025-06-22T08:03:47
source_url: "notes://showNote?identifier=5B7E2C19"
links:
- "https://www.visitnorway.com/"
---
# Bike tour, day 2
From Voss to Flåm. Ferry times are in [[Bike tour, day 1]].
![[attachments/Drawing 3f9a1c.png]]
```
## Free and unlocked
Your first 100 notes export and keep syncing free; new notes after that need the one-time unlock ([pricing](https://exporter.dev/pricing)).
## Sync and full resync
After the first "Sync Now", every edit in Apple Notes is written to its file while Exporter runs, window open or closed. Quitting stops it; `exporter sync` catches up. When you delete, rename or move a note, the next sync removes its old file, and only files listed in `.exporter/files.json`.
"Full Resync" asks first, then removes only the files Exporter wrote, exports again and picks the free 100 again. Anything else in the export folder stays: your own notes, and a vault's `.obsidian`.
## Problems and fixes
- "that is not the Apple Notes folder": you picked another folder. Press "Try Again", then "Select This Folder" without opening anything
- a locked note is missing: remove the lock in Apple Notes. Settings > "notes database diagnostics" counts the locked notes
- iCloud notes are missing: open Apple Notes and let it finish syncing, then check the card's `selected` count
- files moved into other folders: "Organize" changed. Pick the layout you want and press "Sync Now"
- a note failed: `last sync` shows a red "details" link. "apple notes was writing this note and it will export on the next sync" clears itself; if "could not read note from database" keeps failing, send the report from Settings > "notes database diagnostics" with the note's title
- an image is missing: open the note in Apple Notes so its file downloads, then sync again
- edits do not show up: Exporter has to be running, and the note ticked and within the free allowance
## Related
- [Export Apple Notes to Markdown](https://exporter.dev/notes): Apple Notes as Markdown, kept in sync
- [Apple Notes guides](https://exporter.dev/guides/notes): Obsidian, backups, Claude and Wander
- [Help](https://exporter.dev/docs/help): Problems and questions, with fixes
---
human version: https://exporter.dev/docs/notes
every page: https://exporter.dev/llms.txt
# Notion
How the Notion export works, from connecting to fixing problems.
## Connect
Press "Connect" beside Notion under Cloud on Exporter's home. Sign in with Apple; your browser opens Notion's page, where you pick the pages Exporter may read and allow access. Exporter asks Notion only to read. Back in Exporter, choose where the files go and press "Use This Folder".
Notion's token stays on Exporter's server, sealed. Your Mac signs in to that server and never holds it.
## Share pages
Only the pages you share with Exporter sync, with every page and database under them. To add a page later, open its ⋯ menu in Notion and add the exporter.dev connection; it arrives at the next sync. A page you stop sharing leaves your folder at the next daily check.
## Choose items
The pick page lists every shared page and database, all ticked, with three tabs: All, Pages and Databases. Untick what you don't want; its files stay out.
## Where the files go
A folder right in your home folder, like `~/Documents`, gets a `notion-export` folder inside it; a deeper one is used as it is.
- Pages: in the folders Notion shows them in, named by title: `Projects/Plan Q4.md`. A page with pages under it has a folder of its own name beside its file.
- Databases: a folder named after the database with one file per row, and the whole table beside it: `Projects/Tasks/Write the plan.md` and `Projects/Tasks.csv`
- Images and files Notion hosts: `attachments/` in the page's folder, linked from the page
`/` and `:` in a title become spaces. When two pages in one folder share a title, the first created keeps it and the other takes the first 6 characters of its id in brackets.
## The file
A page's front matter carries `title`, `id`, `created`, `modified`, `source_url` and `parent`, the page or database it sits in. A database row adds its properties under their names in Notion, in the database's order: text, numbers, dates, true or false, and lists of names. Then the title and the page as plain Markdown. A callout is a quote with its icon, a toggle is a details block, and colours are dropped. A link to another exported page is a relative link to its file. Times are in UTC.
The database's CSV has a column per property and a line per row, oldest first.
## Sync
Notion tells Exporter's server about every edit, move and deletion. The server rewrites the files and tells your Mac, which downloads them, so a change arrives within minutes; Notion itself waits a minute or two before it tells. A page you rename or move moves its file and its attachments. "Sync Now" asks the server first; "Full Resync" writes every file again.
## Exporter Cloud
The first 7 days are free from your first connect. Then Exporter Cloud is a subscription in the App Store: Notion on its own, or All Cloud for Linear, Notion and every cloud source we add, monthly or yearly. When a plan ends, syncing stops and your files stay. Thirty days later the server deletes its copies and the token.
## Account
Settings › Account shows the email you signed in with. "Sign Out" keeps the connection for when you sign in again. Disconnecting Notion revokes Exporter's access in Notion and deletes Exporter's copies on exporter.dev. "Delete Account…" disconnects every workspace and deletes everything the server holds for you. The files on your Mac stay.
## Command line
`exporter export --source notion --dest ` writes the workspace's files into a folder granted on the Command Line card. See [the command line](https://exporter.dev/docs/cli).
## Problems and fixes
- A page is missing: share it with the exporter.dev connection from its ⋯ menu in Notion, check it is ticked, then press "Sync Now".
- An image shows as a link: Notion would not hand it over, so the file links to it in Notion instead.
- The card says "Connect Again…": Notion no longer accepts the connection, often because it was removed in Notion's settings. Press it and allow access again.
- The card says "Sign In…": the session ended. Sign in with the same Apple account and syncing carries on.
## Related
- [Notion](https://exporter.dev/notion): Pages and databases as files
- [Notion guides](https://exporter.dev/guides/notion): Obsidian and backups
- [Pricing](https://exporter.dev/pricing): Free allowances, unlocks and Exporter Cloud
---
human version: https://exporter.dev/docs/notion
every page: https://exporter.dev/llms.txt
# Reminders
How the Reminders export works, from connecting to fixing problems.
## Connect
Press "Connect" beside Reminders on Exporter's home, then "Open Reminders Folder". The panel opens in the Reminders folder where macOS keeps its store, `~/Library/Group Containers/group.com.apple.reminders`: press "Select This Folder". Then choose where the files go and press "Use This Folder".
## Where the files go
One Markdown file per list, named after the list (`groceries.md`). A folder right in your home folder, like `~/Documents`, gets a `reminders-export` folder inside it; a deeper one, like `~/Documents/reminders`, is used as it is. Images on reminders land in `attachments/`.
## What is exported
The lists ticked on the card, every reminder in them, completed ones too. The pills only filter the list: lists (every list), shared (lists someone shares with you or you with them) and recent (the lists that changed last).
Two lists with the same name each get a short id suffix, so neither file overwrites the other. Unticking a list removes its file on the next sync; ticking it again brings it back.
## Format
Always Markdown: the list's front matter, then a checkbox line per reminder, subtasks indented under their parent, completed reminders under a `Completed` heading. A list with sections writes one `##` heading per section, in the list's own order, with the reminders that sit above them all at the top.
A due date carries its time when the reminder has one (`[due:: 2026-09-20T14:30]`) and the day alone when it does not, and a repeating reminder says how often: `[recurring:: daily]`, or `[recurring:: every 2 weeks]`.
## The file
| key | holds |
| --- | --- |
| `title`, `id` | the list's name and id |
| `created`, `modified` | the earliest created and the latest changed reminder |
| `source_url` | opens the list in Reminders |
| `shared`, `owner` | on a shared list, who owns it |
| `reminders`, `completed` | how many, and how many are done |
Each line carries the title, then Dataview inline fields when they apply: `due`, `priority`, `flagged`, `notes`, `url`, `recurring`, the reminder's hashtags, a link that opens it in Reminders, and a block id.
```markdown
---
title: "Groceries"
id: "8F2C1A3B-4D5E-6F70-8192-A3B4C5D6E7F8"
shared: true
owner: "Anna Kowalski"
reminders: 3
completed: 1
---
- [ ] Coffee beans [due:: 2026-09-16] [priority:: high] [↗](x-apple-reminderkit://REMCDReminder/1) ^rem-1
- [ ] Grinder [↗](x-apple-reminderkit://REMCDReminder/2) ^rem-2
## Completed
- [x] Oat milk [↗](x-apple-reminderkit://REMCDReminder/3) ^rem-3
```
## Free and unlocked
Your first 100 reminders are free: the newest by last change, and they stay free. A free list file holds the reminders that hold a free slot and fills up when you unlock ([pricing](https://exporter.dev/pricing)).
## Sync and full resync
After the first "Sync Now", Exporter rewrites a list file when a reminder in it changes, at most once a minute.
"Full Resync" asks first, then removes the list files Exporter wrote and writes every ticked list again. Anything else in the folder stays.
## Problems and fixes
- "no reminders database in that folder (pick the Reminders folder itself)": press "Connect" again and select the folder the panel opens in
- a list is missing: it is unticked on the card, or it holds no reminders yet
- a reminder is missing from its file: the free 100 are used. Unlock Reminders and press "Sync Now"
- an image is missing: it was added on another device and has not synced to this Mac yet
## Related
- [Reminders](https://exporter.dev/reminders): Every list as a Markdown checklist
- [Reminders guides](https://exporter.dev/guides/reminders): Every list as a checklist file
- [Getting started](https://exporter.dev/docs/getting-started): Install, connect, first export
---
human version: https://exporter.dev/docs/reminders
every page: https://exporter.dev/llms.txt
# Safari
How the Safari export works, from connecting to fixing problems.
## Connect
Press "Connect" beside Safari on Exporter's home. A panel opens on Safari's folder; press "Select This Folder" without choosing anything, so Exporter may read your history and bookmarks. Then choose where the files go.
Your open tabs, Tab Groups and Safari's pictures of pages live in a second folder Safari keeps for itself. Press "Connect" beside Tabs on the card and select that folder the same way. Exporter never asks for it at the start.
## Choose what syncs
The card has a tab for each list: Kinds (what is written, a file count each), Sites (your history by site), Bookmarks (the folders), Reading List and Tabs (this Mac, your other devices and your Tab Groups). Everything is ticked; untick what you don't want and its files go.
## Where the files go
A folder right in your home folder, like `~/Documents`, gets a `safari-export` folder inside it, with a folder per kind:
- `history/2026-10-20.md`: a day, a heading per hour, a line per visit, and `topics.md` beside the days
- `bookmarks/Favorites.md`: a file per top folder, named as Safari shows it
- `reading-list/How compost works.md`: a file per page you saved
- `tabs/.md` and `tab-groups/.md`: this Mac's windows and pinned tabs, each other device's tabs, each Tab Group
- `recently-closed/Recently Closed.md`, `downloads/2026-10.md`, `top-sites/Top Sites.md`, `site-settings/Site Settings.md`, `privacy-report/2026-10.md`, `watches/.md`
- `icons/`, `pictures/` and `pages/`: the sites' icons, Safari's pictures of pages and the pages' text, when they are included
- `csv/`: your history a month at a time (`history-2026-10.csv`), `bookmarks.csv`, `reading-list.csv` and `downloads.csv`, when CSV is included
## What each file carries
Ticked under Includes, in Options… on the card or at setup:
- Page Snippets: Safari's own few lines of each page under its visit or bookmark (macOS 27)
- Topics: the topics Safari tags pages with, on each day and in `topics.md` with their Wikidata links
- Icons: each site's icon before its lines, copied once
- Page Pictures, off until ticked: Safari's picture of each page under its visit or tab, with Safari's second folder connected
- Page Text, off until ticked: the text of each bookmark and Reading List page in `pages/`, fetched once on your Mac without your cookies. A page behind a sign-in, a private address or an address with a secret in it is not fetched and its file says why. Your history is never fetched.
- CSV, off until ticked: the history a month at a time, the bookmarks, the Reading List and the downloads as tables in `csv/`, a row per visit, bookmark, page and download, for Numbers or a spreadsheet
Links and images follow Settings › Markdown: wikilinks or standard Markdown.
## Free and unlocked
The newest 10 days of history are free, and so are your bookmarks and Reading List, whole. Unlock Safari is one purchase for the rest: all your history, tabs, Tab Groups, Recently Closed, downloads, Top Sites, site settings, the Privacy Report and watches.
## Command line
`exporter export --source safari --dest ` writes the same files into a folder granted on the Command Line card. See [the command line](https://exporter.dev/docs/cli).
## Problems and fixes
- "That is not Safari's data folder": open the panel again and press "Select This Folder" without choosing anything.
- No snippets or topics: they are Safari's own, on macOS 27, and only for pages Safari has read since.
- A day is missing: Safari keeps about a year of history; a day it forgot keeps its file in your folder.
- Tabs say "Not connected": connect Safari's second folder beside Tabs on the card.
## Related
- [Safari](https://exporter.dev/safari): History, bookmarks and tabs as files
- [Safari guides](https://exporter.dev/guides/safari): History and Obsidian
- [Pricing](https://exporter.dev/pricing): Free allowances, unlocks and Exporter Cloud
---
human version: https://exporter.dev/docs/safari
every page: https://exporter.dev/llms.txt
# Screen Time
How the Screen Time export works, from connecting to fixing problems.
## Connect
Press "Connect" beside Screen Time on Exporter's home, then "Open Knowledge Folder". The panel opens in the Knowledge folder where macOS keeps Screen Time, `~/Library/Application Support/Knowledge`: press "Select This Folder". Then choose where the files go and press "Use This Folder".
## Where the files go
One Markdown file per day, named by its date (`2026-09-01.md`), and a `summary.md` beside them. A folder right in your home folder, like `~/Documents`, gets a `screen-time-export` folder inside it; a deeper one, like `~/Documents/screen-time`, is used as it is.
## What is exported
The days ticked on the card. The tabs only sort the list: Days (every day, newest first), Recent (the last seven days) and Busiest (the most screen time).
macOS keeps about four weeks of Screen Time. Exporter never deletes a day file, so the export keeps growing past that, and the folder is the only copy of the older days. Days macOS deleted before you exported them cannot be exported.
A day file has four sections: App Usage (every app used for a minute or more, with its time and sessions), Web Usage (time and visits per domain), Notifications (a count per app) and Screen Sessions (when the screen came on and went off, and the total). `summary.md` holds Top Apps and Daily Totals over the days the latest sync read, about the last four weeks.
## Format
Always Markdown: tables, with the day's totals in the front matter.
## The file
| key | holds |
| --- | --- |
| `title` | `Screen Time` and the date |
| `id`, `created`, `modified` | the date |
| `tags` | `screen-time` |
| `total_screen_time` | the day's total, like `3h 51m` |
| `apps_used`, `domains_visited` | how many apps and websites |
```markdown
---
title: "Screen Time 2026-09-01"
id: "2026-09-01"
created: 2026-09-01T00:00:00
modified: 2026-09-01T00:00:00
tags:
- "screen-time"
total_screen_time: "3h 51m"
apps_used: 4
domains_visited: 2
---
## App Usage
| App | Duration | Sessions |
|-----|----------|----------|
| Xcode | 2h 4m | 6 |
| Safari | 1h 21m | 11 |
```
## Free and unlocked
The 10 newest days you had ticked at your first sync are the free days, and they stay the free ten: later days need the one-time unlock ([pricing](https://exporter.dev/pricing)). To choose other free days, untick before that first sync.
## Sync and full resync
After the first "Sync Now", Exporter adds new days while it runs, at most once a minute.
"Full Resync" asks first, then removes the files Exporter wrote, every day file included, and exports again what macOS still has. The days macOS already deleted do not come back: back up the folder before you ever press it.
## Problems and fixes
- "no knowledgeC.db in that folder (pick the Knowledge folder itself)": press "Connect" again and select the folder the panel opens in
- new days stop arriving: the free ten are used. Unlock Screen Time and press "Sync Now"
- a day is missing from the start: macOS had already deleted it
- `summary.md` covers only recent weeks: it adds up the days the latest sync read; the day files keep the rest
## Related
- [Screen Time](https://exporter.dev/screen-time): Screen Time as one file per day
- [Screen Time guides](https://exporter.dev/guides/screen-time): Keep every day as a file
- [Getting started](https://exporter.dev/docs/getting-started): Install, connect, first export
---
human version: https://exporter.dev/docs/screen-time
every page: https://exporter.dev/llms.txt
# Voice Memos
How the Voice Memos export works, from connecting to fixing problems.
## Connect
Press "Connect" beside Voice Memos on Exporter's home. A panel opens on Voice Memos' folder; press "Select This Folder" without choosing anything, so Exporter may read your recordings. Then choose where the files go. Voice Memos needs macOS 27; on an older macOS its card says so and offers Software Update.
## Transcripts
A recording Voice Memos transcribed keeps Voice Memos' words. Every other recording is heard on your Mac by Apple's speech model, newest first, in the background after the notes are written.
The model hears one language and cannot tell which one you spoke, so you choose it: Transcribe In, in Options… on the card or at setup, starts on the first language in your Mac's settings that has a model. Change it and the recordings are heard again in the new language. Each answer is kept on your Mac, so a recording is never heard twice in the same language.
When the model is not sure enough, nothing is written and the recording waits until the language changes. The card counts the transcripts: by Voice Memos, on this Mac, not heard, and waiting.
## Where the files go
A folder right in your home folder, like `~/Documents`, gets a `voice-memos-export` folder inside it:
- `20260930 091500-6F3A1B2C.md`: a note per recording, named as Voice Memos names the recording
- `20260930 091500-6F3A1B2C.m4a`: the recording, copied beside its note once
- `index.md`: every recording with its date, length, size and a Play link
## What each note carries
The front matter has `title`, `id`, `created`, `modified`, `duration` and `format`, then `transcript` (`voice-memos` or `this-mac`), `transcript_language` and, for words heard on your Mac, `transcript_confidence` from 0 to 1. Then the title, the audio embedded, its length, size and format, and under `## Transcript` paragraphs of about half a minute, each starting with its time. A recording synced from your iPhone carries the day Voice Memos shows for it.
Links and images follow Settings › Markdown: wikilinks or standard Markdown.
## Free and unlocked
Your 20 newest recordings are free. Unlock Voice Memos is one purchase for every recording.
## Command line
`exporter export --source voice-memos --dest ` writes the same files into a folder granted on the Command Line card. See [the command line](https://exporter.dev/docs/cli).
## Problems and fixes
- "That is not Voice Memos' folder": open the panel again and press "Select This Folder" without choosing anything.
- A recording has no transcript: it may be waiting its turn, or the model was not sure. Check Transcribe In is the language you spoke.
- The words are in the wrong language: change Transcribe In; the recordings are heard again.
- The card says Voice Memos needs macOS 27: update your Mac in Software Update.
## Related
- [Voice Memos](https://exporter.dev/voice-memos): Recordings and transcripts as notes
- [Voice Memos guides](https://exporter.dev/guides/voice-memos): Transcripts and Obsidian
- [Pricing](https://exporter.dev/pricing): Free allowances, unlocks and Exporter Cloud
---
human version: https://exporter.dev/docs/voice-memos
every page: https://exporter.dev/llms.txt
# Wallet
How the Wallet export works, from connecting to fixing problems.
## Connect
Press "Connect" beside Wallet on Exporter's home, then "Open Passes Folder". The panel opens in the folder where macOS keeps your passes, `~/Library/Passes`: press "Select This Folder". Then choose where the files go and press "Use This Folder".
Take the Passes folder itself, not the `Cards` folder inside it. Exporter reads the passes from `Cards`, and `passes23.sqlite` beside it for one thing only: the day a pass was signed, which is the only date many older passes have.
## Where the files go
One Markdown file per pass, in one folder, named by its date and by what the pass is: `2026-09-17 united airlines SFO-EWR.md`, `2026-09-11 the sf database meetup.md`. A pass with no date at all is named after itself (`apple store.md`). A folder right in your home folder, like `~/Documents`, gets a `wallet-export` folder inside it; a deeper one, like `~/Documents/wallet`, is used as it is.
## What is exported
Every pass ticked on the card: boarding passes, train and bus tickets, event tickets, store cards, coupons and generic passes. The pills only filter the list: passes (all of them), flights (boarding passes, trains and buses included), events and cards.
Two passes that would name the same file each get a short suffix from their id, so neither overwrites the other. Unticking a pass removes its file on the next sync; ticking it again brings it back.
## Format
Always Markdown: the pass's front matter, a heading and one line saying where and when, then the fields exactly as the card draws them, the back of the card under a `Back` heading, and the barcode's own number.
## The file
| key | holds |
| --- | --- |
| `title`, `id` | what the pass is called, and Wallet's own id for it |
| `kind` | `flight`, `transit`, `event`, `card` or `other` |
| `date`, `date_source` | when the pass matters, and whether that is the issuer's date, its expiry, or the day it was signed |
| `organization`, `pass_type` | the issuer, and its pass type identifier |
| `expires`, `voided` | when it runs out, and whether Wallet has marked it spent |
| `coordinates` | the venue's point, when the pass carries one |
A `Details` section carries Apple's typed fields that the card does not already print: terminals, the arrival gate, time zones, the fare class. A `Where` section names the venue. A barcode whose message is binary says so instead of writing control characters into the file.
```markdown
---
title: "United Airlines SFO-EWR"
kind: flight
date: 2026-09-17T18:20:00
date_source: relevant
organization: "United Airlines"
---
# United Airlines SFO-EWR
San Francisco (SFO) → Newark (EWR) · 17 Sep 2026
- FLIGHT: UA 274
- GATE: F19
- SEAT: 34D
## Back
- CONFIRMATION: GGCLMQ
```
## Dates, and passes without one
A pass is filed under its own day, in the time zone the issuer wrote: a flight leaving Denver at 23:25 is that day in Denver, not the next one where you are reading it. Older event tickets often carry no date at all; those are filed under the day the pass was signed, and `date_source: signed` says so in the file.
## Passes in other languages
A pass may keep its words in a `pass.strings` file inside its bundle and put only the keys in the pass itself. Exporter resolves them in your Mac's language, so a ticket reads as the event's name, not as `EVENT_NAME`.
## Free and unlocked
Your 20 most recent passes are free, and they stay free. Unlocking Wallet exports the rest ([pricing](https://exporter.dev/pricing)).
## Sync and full resync
After the first "Sync Now", Exporter rewrites a pass file when that pass changes, at most once a minute. Gates, seats and boarding times change on the day you travel, and each change rewrites only that pass's file.
"Full Resync" asks first, then removes the pass files Exporter wrote and writes every ticked pass again. Anything else in the folder stays.
## Problems and fixes
- "no passes in that folder (pick the Passes folder in your Library)": press "Connect" again and select the folder the panel opens in
- a pass is missing: it is unticked on the card, or the free 20 are used. Unlock Wallet and press "Sync Now"
- a pass has no date in its name: it carries none, and Wallet's database could not be read. Connect `~/Library/Passes` itself rather than `Cards`
- the card numbers are not there: they are not on the Mac. Wallet keeps payment cards in the Secure Element, and Exporter never sees them
## Related
- [Wallet](https://exporter.dev/wallet): Every pass as a Markdown file
- [Getting started](https://exporter.dev/docs/getting-started): Install, connect, first export
- [MCP server](https://exporter.dev/docs/mcp): Connect Claude and other agents
---
human version: https://exporter.dev/docs/wallet
every page: https://exporter.dev/llms.txt
# Questions
Every question answered on the rest of the site, collected here. Each one links back to the page it belongs to.
## Related
- [Help](https://exporter.dev/docs/help): Problems and questions, with fixes
- [Contact](https://exporter.dev/contact): Feedback, email and updates
- [Pricing](https://exporter.dev/pricing): Free allowances, unlocks and Exporter Cloud
---
human version: https://exporter.dev/faq
every page: https://exporter.dev/llms.txt
# Exporter for agents
Five skills teach an agent to export, back up and search with Exporter.
## The five skills
The command above installs all five with the [skills CLI](https://github.com/vercel-labs/skills) from this site's [skills index](https://exporter.dev/.well-known/skills/index.json). Or save any SKILL.md below into your agent's skills folder.
- [export-apple-notes](https://exporter.dev/.well-known/skills/export-apple-notes/SKILL.md): Export Apple Notes to Markdown or HTML files with `exporter`, and read the JSON summary. (`.well-known/skills/export-apple-notes/SKILL.md`)
- [apple-notes-to-obsidian](https://exporter.dev/.well-known/skills/apple-notes-to-obsidian/SKILL.md): Put Apple Notes into a folder of an Obsidian vault and keep it in sync, safely. (`.well-known/skills/apple-notes-to-obsidian/SKILL.md`)
- [backup-apple-notes](https://exporter.dev/.well-known/skills/backup-apple-notes/SKILL.md): A nightly mirror, dated snapshots or a backup tool pre-flight step, and a check that the last one ran. (`.well-known/skills/backup-apple-notes/SKILL.md`)
- [notes-as-claude-context](https://exporter.dev/.well-known/skills/notes-as-claude-context/SKILL.md): Search and read notes, contacts and conversations through the local MCP server. (`.well-known/skills/notes-as-claude-context/SKILL.md`)
- [export-messages](https://exporter.dev/.well-known/skills/export-messages/SKILL.md): iMessage conversations to Markdown, one file per conversation, with attachments. (`.well-known/skills/export-messages/SKILL.md`)
## What an agent can do
- Export: `exporter sync --source apple --json --quiet` into the app's export folder, or `exporter export --dest ` into any folder the person granted on the Command Line card.
- Back up on a schedule: `exporter help cron` prints the crontab lines with the real path: a mirror that follows edits, or dated snapshots that never change.
- Read the result: `--json` on sync, export, list, status and log. Exit codes: 0 ok, 1 export failures, 2 needs setup, 64 usage.
- Search as context: Over MCP: `search`, `read`, `list`, `get_recent`, `get_stats` and `get_metadata` over the exports. [The six tools](https://exporter.dev/docs/mcp).
- Know the state: `exporter status --json` shows each source, its last export and its free tier and used count. `exporter list sources --json` counts what is there.
- Know the allowance: A run past the free allowance still exits 0 and prints a `note:` line naming what was skipped. The person unlocks that app once, in Exporter.
## Setup
A person does the first two steps, because the app is sandboxed. The agent does the rest.
1. A person installs the app: Exporter from the Mac App Store, opened once. Connecting an app and choosing its export folder happen only in the app.
2. A person pastes one line: On the app's Command Line card, "Copy Install Command", pasted once in Terminal. The sandboxed app cannot write to your PATH itself. `exporter help install` prints the line for that Mac.
3. The agent learns the skills: `npx skills add https://exporter.dev` installs the five skills above from this site's skills index.
4. The agent checks and runs: `exporter doctor` says what is missing, with a `fix:` line under each failure. Then `exporter sync --json --quiet` exports and prints one JSON summary.
5. The agent reads as context: With the MCP server started on the app's card, `claude mcp add --transport http exporter http://localhost:8744/mcp` connects Claude Code to the exports.
## Questions
### What can an agent not do?
Connect an app, choose an export folder, grant a folder, start the MCP server or buy an unlock. Those happen in the app, by a person. The command line never prompts: a missing step stops the run with exit code 2 and one line saying what to do.
### Can an agent pay for an unlock?
No. Each app unlocks with a one-time in-app purchase a person makes inside Exporter. There is no web checkout, no license key and no agent payment. Tell the person; the next run picks the unlock up.
### Which agents can use it?
Anything that runs shell commands can drive `exporter`. Anything that speaks MCP over HTTP can connect to the server: Claude Code with one command, Cursor and VS Code from buttons on the app's MCP Server card, Claude Desktop through a copied `mcp-remote` entry.
### How private is it?
The command line and the server run on the person's Mac and read their exports there; the server listens on 127.0.0.1 only. The skills tell the agent to report counts and paths, and to quote notes or messages only when the person asks. [Privacy](https://exporter.dev/privacy).
## Related
- [CLI](https://exporter.dev/docs/cli): Every command, flag and exit code
- [MCP server](https://exporter.dev/docs/mcp): Connect Claude and other agents
- [Apple Notes in Claude](https://exporter.dev/guides/notes/apple-notes-in-claude): Claude searches your notes, on your Mac
---
human version: https://exporter.dev/agents
every page: https://exporter.dev/llms.txt
# Every app Exporter reads
Exporter reads these apps on your Mac and keeps each one in sync as Markdown.
- [Apple Notes](https://exporter.dev/notes.md): Notes with their folders, tags and attachments, drawings included.
- [Messages](https://exporter.dev/messages.md): One file per conversation, with a heading per day, reactions and photos.
- [Mail](https://exporter.dev/mail.md): One file per email, sorted by Mail's own kinds, by account or by date.
- [Contacts](https://exporter.dev/contacts.md): One file per card, with every field in the front matter.
- [Screen Time](https://exporter.dev/screen-time.md): One file per day, kept after macOS deletes it about four weeks later.
- [Reminders](https://exporter.dev/reminders.md): One file per list, a reminder per checkbox line, completed ones kept.
- [Calendar](https://exporter.dev/calendar.md): One file per month, a heading per day, repeats on every day they happen.
- [Bear](https://exporter.dev/bear.md): Tagged notes, one folder per tag, read from Bear's database.
- [Logseq](https://exporter.dev/logseq.md): Pages and journals, namespaces as folders.
- [Documents](https://exporter.dev/documents.md): Word, PowerPoint, Excel, PDF and more, from a folder you pick.
- [Wallet](https://exporter.dev/wallet.md): One file per pass: boarding passes, tickets and store cards, with their barcodes.
- [Claude Code](https://exporter.dev/claude-code.md): One note per session, the original log beside it, kept after the purge.
- [Linear](https://exporter.dev/linear.md): Issues with their comments, projects and documents, synced within a minute.
- [Notion](https://exporter.dev/notion.md): Pages and databases with their properties and images, synced within minutes.
- [Safari](https://exporter.dev/safari.md): A file per day of history, per bookmark folder and per Reading List page, with your tabs.
- [Voice Memos](https://exporter.dev/voice-memos.md): A note per recording beside its audio, with its transcript, heard on your Mac when needed.
## Where the files land
- One folder per app: For example Apple Notes in `~/Documents/notes`, Messages in `~/Documents/messages`, Contacts in `~/Documents/contacts`, and the same for `~/Documents/screen-time`, `~/Documents/bear`, `~/Documents/logseq` and `~/Documents/documents`.
- Side by side for agents: Keep the export folders in one parent folder and the [MCP server](https://exporter.dev/docs/mcp) serves them all together.
- Run records out of sight: Each export folder keeps `.exporter/` with the last run and its history. Obsidian never indexes a dot folder.
- Only its own files: A sync removes only files it wrote whose note, chat, card, page or document is gone, and leaves your own files alone; Screen Time keeps every day. A full resync (`exporter sync --full`) also removes only the files Exporter wrote, then writes everything again.
## Questions
### What is free?
Your first 100 notes and 100 contacts, your 50 most recent conversations, your 10 most recent days of Screen Time and your 10 most recently modified documents. Bear and Logseq are free with no limit. Each other app unlocks with a one-time purchase, [priced per country](https://exporter.dev/pricing).
### Can I pick where each app goes?
Yes. Every app has its own export folder, set on its card in the app: any folder, including one in your Obsidian vault.
### Does it only export Markdown?
Messages, Contacts, Screen Time and Logseq are always Markdown. Apple Notes and Bear write Markdown or HTML, one at a time, and Documents can write both in one sync, as you tick them on its card.
## Related
- [Pricing](https://exporter.dev/pricing): Free allowances, unlocks and Exporter Cloud
- [Download](https://exporter.dev/download): Get it from the Mac App Store
- [Docs](https://exporter.dev/docs): How each export works, app by app
---
human version: https://exporter.dev/apps
every page: https://exporter.dev/llms.txt
# Download Exporter for Mac
Exporter is on the Mac App Store as “Exporter: Notes to Markdown”, for macOS 15 or later.
[Download for Mac](https://apps.apple.com/us/app/exporter-notes-to-markdown/id6741618455?mt=12) · 100 notes free · $4.99 once · macOS 15+ (US price, set per country)
## What you need
- A Mac with macOS 15 or later: Since version 3.23 Exporter is built for Apple silicon only; 3.22 was the last version for Intel Macs.
- No account: Your exports are files on your Mac. Nothing is uploaded.
- Free to start: Your first 100 notes, 100 contacts, 50 most recent conversations, 10 days of Screen Time and 10 documents export free. Bear and Logseq have no limit.
- Pay once per app: Unlock an app inside Exporter with a one-time purchase, [priced per country](https://exporter.dev/pricing). No subscription.
## After you install
1. Open Exporter: A welcome walks you through your first app: connect it, choose where the files go, choose what syncs.
2. Connect the apps you want: Press Connect beside an app on the home screen. A panel opens in the app's folder: press Select This Folder. No permission prompt, no Full Disk Access.
3. Choose where the files go: A folder in Documents, or a folder of its own inside your Obsidian or Wander vault. Any other folder later, with Change… on the card.
4. Sync once: Press Sync. From then on Exporter updates the files as you use the apps, while it runs, window open or closed. It can launch at login.
5. Add the command line, if you want it: On the Command Line card, press "Copy Install Command" and paste the line once in Terminal. Then `exporter` works from Terminal, cron and your agent. [Command line reference](https://exporter.dev/docs/cli).
[Full guide](https://exporter.dev/docs/getting-started)
## Questions
### Where else can I get it?
Only the Mac App Store.
### Is there an iPhone version?
No, and no iPad version. Exporter reads the apps' data where your Mac keeps it.
### Can my agent install it?
No. A person installs the app and pastes the command line install line once; an agent can do the rest. [For agents](https://exporter.dev/agents).
## Related
- [Getting started](https://exporter.dev/docs/getting-started): Install, connect, first export
- [Apps](https://exporter.dev/apps): Every app Exporter reads
- [Help](https://exporter.dev/docs/help): Problems and questions, with fixes
---
human version: https://exporter.dev/download
every page: https://exporter.dev/llms.txt
# Pricing
Each app exports free up to an allowance; a one-time purchase unlocks the rest.
$4.99 in the United States App Store. Apple sets the price per country, and each app unlocks once at that price.
## Prices in every country
The Apple Notes unlock in each of the 173 App Store countries, in local currency.
| Country | Unlock |
|---|---|
| Afghanistan | $0.99 |
| Albania | $1.99 |
| Algeria | $1.99 |
| Angola | $0.99 |
| Anguilla | $2.99 |
| Antigua & Barbuda | $2.99 |
| Argentina | $1.99 |
| Armenia | $1.99 |
| Australia | A$7.99 |
| Austria | €5.99 |
| Azerbaijan | $1.99 |
| Bahamas | $3.99 |
| Bahrain | $3.99 |
| Barbados | $4.99 |
| Belgium | €5.99 |
| Belize | $1.99 |
| Benin | $0.99 |
| Bermuda | $3.99 |
| Bhutan | $1.99 |
| Bolivia | $1.99 |
| Bosnia & Herzegovina | €1.99 |
| Botswana | $1.99 |
| Brazil | R$12.90 |
| British Virgin Islands | $3.99 |
| Brunei | $3.99 |
| Bulgaria | €2.99 |
| Burkina Faso | $0.99 |
| Cambodia | $0.99 |
| Cameroon | $0.99 |
| Canada | CA$6.99 |
| Cape Verde | $1.99 |
| Cayman Islands | $3.99 |
| Chad | $0.99 |
| Chile | CLP 2,990 |
| China | CN¥15 |
| Colombia | COP 9,900 |
| Congo - Brazzaville | $0.99 |
| Congo - Kinshasa | $0.99 |
| Costa Rica | $2.99 |
| Côte d’Ivoire | $0.99 |
| Croatia | €3.99 |
| Cyprus | €3.99 |
| Czechia | CZK 99 |
| Denmark | DKK 39 |
| Dominica | $1.99 |
| Dominican Republic | $1.99 |
| Ecuador | $1.99 |
| Egypt | EGP 99.99 |
| El Salvador | $1.99 |
| Estonia | €3.99 |
| Eswatini | $1.99 |
| Fiji | $1.99 |
| Finland | €5.99 |
| France | €5.99 |
| Gabon | $1.99 |
| Gambia | $0.99 |
| Georgia | $1.99 |
| Germany | €5.99 |
| Ghana | $0.99 |
| Greece | €3.99 |
| Grenada | $1.99 |
| Guatemala | $1.99 |
| Guinea-Bissau | $0.99 |
| Guyana | $2.99 |
| Honduras | $1.99 |
| Hong Kong SAR China | HK$32 |
| Hungary | HUF 1,490 |
| Iceland | $5.99 |
| India | ₹99 |
| Indonesia | IDR 39,000 |
| Iraq | $1.99 |
| Ireland | €5.99 |
| Israel | ₪12.90 |
| Italy | €3.99 |
| Jamaica | $1.99 |
| Japan | ¥800 |
| Jordan | $1.99 |
| Kazakhstan | KZT 999 |
| Kenya | $0.99 |
| Kosovo | €1.99 |
| Kuwait | $3.99 |
| Kyrgyzstan | $0.99 |
| Laos | $0.99 |
| Latvia | €2.99 |
| Lebanon | $1.99 |
| Liberia | $0.99 |
| Libya | $1.99 |
| Lithuania | €3.99 |
| Luxembourg | €5.99 |
| Macao SAR China | $3.99 |
| Madagascar | $0.99 |
| Malawi | $0.99 |
| Malaysia | MYR 9.90 |
| Maldives | $1.99 |
| Mali | $0.99 |
| Malta | €3.99 |
| Mauritania | $0.99 |
| Mauritius | $1.99 |
| Mexico | MX$39 |
| Micronesia | $1.99 |
| Moldova | $1.99 |
| Mongolia | $1.99 |
| Montenegro | €1.99 |
| Montserrat | $2.99 |
| Morocco | $1.99 |
| Mozambique | $0.99 |
| Myanmar (Burma) | $0.99 |
| Namibia | $1.99 |
| Nauru | $2.99 |
| Nepal | $0.99 |
| Netherlands | €5.99 |
| New Zealand | NZ$9.99 |
| Nicaragua | $0.99 |
| Niger | $0.99 |
| Nigeria | NGN 1,500 |
| North Macedonia | $1.99 |
| Norway | NOK 59 |
| Oman | $2.99 |
| Pakistan | PKR 300 |
| Palau | $2.99 |
| Panama | $2.99 |
| Papua New Guinea | $0.99 |
| Paraguay | $1.99 |
| Peru | PEN 9.90 |
| Philippines | ₱129 |
| Poland | PLN 19.99 |
| Portugal | €3.99 |
| Qatar | QAR 14.99 |
| Romania | RON 14.99 |
| Rwanda | $0.99 |
| São Tomé & Príncipe | $1.99 |
| Saudi Arabia | SAR 17.99 |
| Senegal | $0.99 |
| Serbia | €1.99 |
| Seychelles | $2.99 |
| Sierra Leone | $0.99 |
| Singapore | SGD 6.98 |
| Slovakia | €3.99 |
| Slovenia | €3.99 |
| Solomon Islands | $0.99 |
| South Africa | ZAR 39.99 |
| South Korea | ₩6,600 |
| Spain | €3.99 |
| Sri Lanka | $1.99 |
| St. Kitts & Nevis | $2.99 |
| St. Lucia | $1.99 |
| St. Vincent & Grenadines | $1.99 |
| Suriname | $1.99 |
| Sweden | SEK 69 |
| Switzerland | CHF 4 |
| Taiwan | NT$120 |
| Tajikistan | $0.99 |
| Tanzania | TZS 2,900 |
| Thailand | THB 79 |
| Tonga | $1.99 |
| Trinidad & Tobago | $2.99 |
| Tunisia | $1.99 |
| Türkiye | TRY 149.99 |
| Turkmenistan | $1.99 |
| Turks & Caicos Islands | $3.99 |
| Uganda | $0.99 |
| Ukraine | $1.99 |
| United Arab Emirates | AED 14.99 |
| United Kingdom | £4.99 |
| United States | $4.99 |
| Uruguay | $2.99 |
| Uzbekistan | $1.99 |
| Vanuatu | $1.99 |
| Venezuela | $1.99 |
| Vietnam | ₫59,000 |
| Yemen | $0.99 |
| Zambia | $0.99 |
| Zimbabwe | $0.99 |
## Free in every app
Whatever you exported keeps re-syncing free. The allowance only stops new items.
- Apple Notes: Your first 100 notes.
- Contacts: Your first 100 contacts.
- Messages: Your 50 most recent conversations.
- Mail: Your newest 1,000 emails.
- Safari: Your newest 10 days of history, with every bookmark and the Reading List.
- Reminders: Your first 100 reminders.
- Calendar: Your first 100 events.
- Screen Time: Your 10 most recent days.
- Documents: Your 10 most recently modified documents.
- Wallet: Your 20 most recent passes.
- Claude Code: Your 50 most recent sessions.
- Voice Memos: Your 20 newest recordings.
- Bear: Free, no limit.
- Logseq: Free, no limit.
- Linear: 7 days free, then Exporter Cloud.
- Notion: 7 days free, then Exporter Cloud.
## How the unlock works
1. One app, one purchase: Each app unlocks on its own, with a one-time in-app purchase inside Exporter.
2. Paid through the App Store: Apple takes the payment in your storefront's currency. No web checkout, no license key.
3. Command line and MCP too: The unlock covers the app, the `exporter` command line and what the MCP server can serve. The next run picks it up.
[Full guide](https://exporter.dev/docs/getting-started#unlocking)
## Questions
### Why is the price different in my country?
Each App Store storefront has its own price, in its own currency. The card at the top of this page shows the one for your country, and Prices in every country lists the Apple Notes unlock in every storefront.
### Do the other unlocks cost the same?
Each app is a separate unlock. Most are priced the same as the Apple Notes unlock; Reminders, Wallet and Voice Memos cost less. Your App Store shows each one's local price before you buy.
### What happens when I reach the free allowance?
Everything you already exported keeps syncing, free. New items past the allowance are left out, and the card says the free limit is reached; the app does not count them, but `exporter sync` prints how many it skipped. [Free allowances and unlocking](https://exporter.dev/docs/getting-started#unlocking).
### What is Exporter Cloud?
Linear and Notion sync through Exporter's server, so they are a subscription and not an unlock: the first 7 days are free from your first connect, then Linear or Notion on its own, or All Cloud for both and every cloud source we add, monthly or yearly, in your App Store's currency. When it ends, syncing stops and your files stay. [The Linear docs](https://exporter.dev/docs/linear) and [the Notion docs](https://exporter.dev/docs/notion).
### Is it sold everywhere?
In every App Store storefront in the table. Exporter is not sold in Russia or Belarus.
## Related
- [Apps](https://exporter.dev/apps): Every app Exporter reads
- [Download](https://exporter.dev/download): Get it from the Mac App Store
- [Help](https://exporter.dev/docs/help): Problems and questions, with fixes
---
human version: https://exporter.dev/pricing
every page: https://exporter.dev/llms.txt
# Contact
Send feedback from the app, or email Anton.
- From the app: Help > Help & Support in Exporter. Pick issue, idea or question, write it and send. Add your email for a reply, or send it anonymously.
- [exporter@tinysend.com](mailto:exporter@tinysend.com): Goes straight to Anton.
- [Rate Exporter](https://apps.apple.com/app/id6741618455?action=write-review): A rating helps other people find it.
- [YouTube](https://www.youtube.com/@ultra_think): Subscribe for updates.
- [Support Ukraine](https://u24.gov.ua): UNITED24, the official platform
- [Made by Anton](https://x.com/podviaznikov): Follow @podviaznikov for progress
Before you write about an export that went wrong, `exporter doctor` checks the connections and folders and prints a fix for each problem it finds. `exporter report` prints a diagnostic report you can paste into an email, and `exporter report --send` sends it to us. Both are on [the command line](https://exporter.dev/docs/cli).
## What a message carries
Feedback from the app carries what you write, your email unless you send it anonymously, and, if you include them, the app's info (version, macOS, connection state) and your purchase status. Never your notes, messages, contacts or anything else you export. An email carries what you put in it.
## Related
- [Help](https://exporter.dev/docs/help): Problems and questions, with fixes
- [Privacy](https://exporter.dev/privacy): What it reads, writes and sends
- [Terms](https://exporter.dev/terms): The rules for this site and the app
---
human version: https://exporter.dev/contact
every page: https://exporter.dev/llms.txt
# Privacy
What Exporter reads and writes on your Mac, and the little it sends.
Please [report](mailto:exporter@tinysend.com) any security vulnerability. If there is a security breach, I promise to disclose it.
## What stays on your Mac
- your notes, messages, contacts, Screen Time, Safari history and bookmarks, Voice Memos recordings, Bear and Logseq data and documents are read on your Mac, and the exports are written to folders you choose on your Mac
- these sources need no account, and nothing you export from them is uploaded. they never go to Exporter Cloud
- the Apple Notes database is opened read-only, and the other apps' data and your documents are only read too
- the [MCP server](https://exporter.dev/docs/mcp) listens on 127.0.0.1, so only apps on your own Mac can reach it, and it only reads your exports
## Safari
- your history, bookmarks, Reading List, tabs and the rest Safari keeps are read on your Mac, from the folders you grant, and written only into the folder you choose. Exporter has no server for them and keeps no copy
- Exporter only reads Safari's files, from a copy it takes, and never writes beside them. It never reads private windows, private pinned tabs, your passwords, form values or site data
- Page Text is off until you tick it. Ticked, Exporter fetches the pages you bookmarked or saved to your Reading List from the web, from your Mac, as a stranger would: without your cookies, never a private address and never an address with a secret in it. Your history is never fetched, and nothing goes through exporter.dev
## Voice Memos
- your recordings are read on your Mac, from the folder you grant, and copied only into the folder you choose. Exporter has no server for them and keeps no copy
- transcripts are heard on your Mac by Apple's speech model. The audio is never uploaded, to Exporter or anyone else. Each transcript is kept on your Mac, so a recording is not heard twice
## Exporter Cloud: Linear and Notion
- it is off until you sign in and connect a Linear or Notion workspace. you sign in with Apple; your email address and an account id are kept with the account
- for each workspace you connect: its access token, encrypted at rest, and what it lets Exporter read: from Linear the issues, projects, comments and documents, from Notion the pages you share, their databases and the images and files Notion hosts in them, kept as markdown files on exporter.dev's storage in Western Europe, so your Mac, your iPhone and the agents you connect can read them. a record of each sync is kept too: when it ran, how many items, whether it worked
- there is no end-to-end encryption: the server reads that content to sync it, to write it into your export folder and to answer the agents you authorize. nobody here reads it for anything else, and it is never used for advertising or to train a model
- paying for the cloud goes through the App Store or Stripe; the account keeps its plan and renewal dates, never a card number
- when a plan has lapsed for 30 days, the server deletes its copies of your workspaces and their tokens; the files already on your Mac stay. to delete your account and everything with it, write to [exporter@tinysend.com](mailto:exporter@tinysend.com)
## What leaves it
- the app sends anonymous events, never content: no note or folder titles, no paths, no bodies, no exact counts, only rough size buckets. They go to tinysend.com and, from version 5.2, also to events.jarkeeper.com, both mine. The id it uses is a random token that maps to nothing, not your purchase. Turn analytics off in the app's settings and nothing is sent. Since 4.5 they also say how the app looks on your Mac (light or dark, the screen and window size, the chip and the accessibility settings that change how it draws) and which of about thirty listed apps are installed
- purchases go through the App Store, and Apple handles the payment
- crash, freeze and speed reports: when the app crashes, freezes or opens slowly, macOS writes a report and hands it to the app, which sends it to diagnostics.jarkeeper.com, where I read them for all my apps. A report holds where in the app's own code it happened, the app version, macOS and the kind of Mac, and on macOS 27 which screen or setup step was open. It never holds note contents, titles or paths. It follows the same analytics switch: turn it off and none are sent
- a failed sync reports itself: when a sync stops, or fails more than a tenth of what it was asked, the app sends a run report to diagnostics.jarkeeper.com: how many items, which kinds of failure, the database's own error codes and words, how big the Notes database and its log are, whether Notes was running, and the free disk. Never a title, a path or a word of a note. It follows the same switch as the crash reports
- a support report leaves only when you send one. `exporter report` on [the command line](https://exporter.dev/docs/cli) prints it and copies it to your clipboard; `exporter report --send` submits it, with your address if you add `--email`. It carries the app version, macOS and hardware, connection state, recent runs and the last crash, and no note contents
- feedback leaves only when you send it from the app's feedback sheet: what you write, your email unless you send it anonymously, and the app's info and purchase status only if you include them
## Related
- [Contact](https://exporter.dev/contact): Feedback, email and updates
- [Terms](https://exporter.dev/terms): The rules for this site and the app
- [Help](https://exporter.dev/docs/help): Problems and questions, with fixes
---
human version: https://exporter.dev/privacy
every page: https://exporter.dev/llms.txt
# Terms
The terms for the Mac app and this website, both run by System Operator LLC, last updated September 12, 2026.
These terms cover two things.
- The app. Exporter, the Mac app you get from the App Store. Your license and your purchases are governed by Apple's standard [Licensed Application End User License Agreement](https://www.apple.com/legal/internet-services/itunes/dev/stdeula/), and the part below adds only what is particular to Exporter.
- The website. exporter.dev, the site you are reading, which describes the app. It has no accounts, and it takes no content from you.
## The app
### What it is
Exporter is a native Mac app that reads data from apps on your Mac and writes files into folders you choose on your Mac. It is a program running on your machine, not a service. We do not host, receive or store what you export. [Privacy](https://exporter.dev/privacy) says what little leaves your Mac.
### License and purchases
Exporter is distributed through the Mac App Store and licensed to you under Apple's standard Licensed Application End User License Agreement. The one-time in-app purchases that unlock each app are made with Apple: payment, refunds and taxes are handled by Apple under the App Store terms. There is no subscription, no web checkout and no license key.
### Your files
The exports are yours, and they stay where you put them. Exporter writes only into the export folders you choose, and a full resync removes the files Exporter wrote there before it writes them again. Keeping backups is your job.
### As is
Under Apple's agreement the app is provided "as is", without warranties of any kind, to the extent the law allows.
## The website
### What it is
exporter.dev describes Exporter: what it reads, what it writes, what it costs, and how to use it. There is nothing to sign up for and nowhere to upload anything. The price shown is the one for the App Store of the country you visit from; the price your App Store shows before you buy is the one that counts.
### Using it
Read it, link to it and quote it. Do not try to break, overload or get around the site's protections. The words, images and code samples on this site belong to System Operator LLC.
### Other names and links
Apple Notes, Messages, Contacts, Screen Time, Bear, Logseq, Obsidian, Claude and the other app names and icons on this site belong to their owners. Showing them means Exporter works with those apps, not that their makers endorse it. The site links to other sites, such as the App Store, Obsidian and GitHub; we do not control them, and their own terms apply.
## Both
### Liability
To the extent the law allows, we are not liable for indirect or consequential damages or for lost data, and our total liability is limited to what you paid for Exporter in the twelve months before the claim. Nothing here limits liability that cannot be limited by law.
### Changes
We can update the app, the website and these terms. We date this page when it changes.
### Governing law
These terms are governed by the laws of the State of Delaware, United States, where System Operator LLC is formed, without regard to conflict of law rules.
### Contact
Write to [exporter@tinysend.com](mailto:exporter@tinysend.com) with any question about these terms.
## Related
- [Privacy](https://exporter.dev/privacy): What it reads, writes and sends
- [Contact](https://exporter.dev/contact): Feedback, email and updates
- [Pricing](https://exporter.dev/pricing): Free allowances, unlocks and Exporter Cloud
---
human version: https://exporter.dev/terms
every page: https://exporter.dev/llms.txt