.mojopad, exactly?A folder. It looks like one file in the Finder because macOS presents it that way, but right-click it and choose Show Package Contents and it opens like anything else. Inside:
pages/ — one file per page, named after the page's id. Each is JSON holding the
page's name, its type, and its text. A Markdown page's text is Markdown; a rich-text page's is
HTML.files/ — anything you attached, as itself. A PDF is a PDF: double-click it and
Preview opens it. Each carries a short prefix before your name — c94a5ea8-evidence.pdf
— so that two files called figure.png cannot overwrite one another. Exporting gives them
their plain names back.document.json — the folders you made, your property and page-type definitions,
the page order.versions/ — the earlier drafts behind Page Versions, one folder per page.
(Whole-document backups are kept outside the package; File ▸ Show Backups in Finder
opens them. A page you deleted stays in pages/, marked as trashed.)No database, and no format of ours: every file MojoPad writes is JSON or your own text, and the files you brought in are exactly the files you brought in. Open any of it in TextEdit and you can read your own writing. The one part that is ours is the shorthand inside a page — a rich-text page stores a link as the id of the page it points at — which is the trade the next section is about.
It is a fair question and the honest answer is that it is a trade, not a free win. A folder of
.md files has one real advantage: every page is already a file every other app can
open, with no export step at all. Here is what MojoPad buys with the thing it gives up.
What you give up is the part worth saying out loud: you cannot double-click a single page in another editor. That is what Exporting is for, and it is why the export has to be good rather than an afterthought.
You take them with you, and you do not need us to do it.
File ▸ Export Document ▸ Markdown Folder… writes one .md
per page. The links between your pages come out as real Markdown links to the other files, so the
structure you built still works in whatever you open it with next. Your attachments come out too,
in a files/ folder beside the Markdown, with each attachment's page linking to it. Any
properties you set arrive as YAML frontmatter, which is what most other tools read.
If you prefer [[double brackets]] — the dialect Obsidian and its relatives use —
turn on Settings ▸ Exporting ▸ Export page links as [[wikilinks]] and export
again.
Same notebook, the other spelling.
There are other doors: Plain Text Folder, Word Folder, PDF, ePub, a browsable Web Export, and XML Backup, which puts every page in one file. And you can always just open the package and take the files.
One thing does not come out, and you should know before you rely on it: pages you have protected with a password are left out of every export. They are encrypted, and an export is a plain file. Unlock and remove the protection first if you want them included.
Yes, because they are not stored separately — they are worked out from the links themselves. MojoPad does not keep a list of backlinks anywhere; it reads them from the links on your pages whenever you look. So if the links come out, the graph comes out, and any tool that understands Markdown links can rebuild exactly what MojoPad showed you.
That includes links you never typed. Where a page's name appears in another page's prose, MojoPad shows it as a link — and the export writes it as one, so the file you get matches the notebook you were looking at. A name of two words or more always links; a single common word links only where the two pages really are about the same thing, so that a page called Ideas does not link every page that happens to say the word.
One thing a Markdown file cannot carry is a connection you drew rather than wrote — the
ones you make by hand in the graph. Those live in document.json, which travels with
the document.
Yes, and it is worth checking rather than believing. Put a few notes in, link them to each
other, attach a file. Then look inside the package: each page is a file whose name is the page's
id and whose contents say what the page is called and what it says. Your attachment is sitting in
files/ as itself.
The ids are the one thing that will look unfriendly — a page is
0005970d-736e-4eb0-9380-38ca73604f9a.json rather than Methods.json. That
is the same decision as above: a name that can change is not an identity. Export to Markdown and
you get the friendly names back, because at that point nothing needs to survive a rename any
more.
The best bug report we ever received was written by the customer's AI assistant. It reproduced the problem, checked that the same action worked outside MojoPad (so the report could say exactly where the failure lived), noted the precise app and macOS versions, and laid it all out as summary, steps, expected, and actual. The fix shipped the same day.
You can send us one just like it:
Reports that arrive with steps, expected-vs-actual, and a note about what was verified regularly get fixed within a day. And if your assistant is connected to MojoPad's MCP server, it can go further still — for a content-level problem it can read your wiki and build a minimal page that reproduces the issue.
MojoPad updates itself. When a new version is out (MojoPad checks quietly at launch, or use MojoPad ▸ Check for Updates…), a small note tells you what's new. Click Update Now and the new version downloads in the background while you keep working — MojoPad verifies the download really came from us, then asks: Restart Now to switch immediately, or On Next Quit to have it install itself silently the next time you close the app. No website, no DMG, no dragging anything to Applications.
Two notes: the quiet startup check reads one tiny version file and downloads nothing without your say-so (turn it off in Settings ▸ Updates); and if the self-update ever can't run — say MojoPad is running straight from the disk image instead of from Applications — it falls back to the classic website download so you're never stuck.
No hard limit — a page is a file on disk, and MojoPad never refuses one for its size. In practice: pages up to about a megabyte of text (that's several novels' worth) open and edit instantly. Truly enormous single pages — tens of megabytes of pasted text — still work, but open with a pause and type a little softer. MojoPad keeps your document's text in memory so search, links, and the graph answer instantly; text is cheap, and images live as separate files that don't weigh in until shown. If you're importing book-sized material, let it be several linked pages rather than one giant one — auto-linking, transclusion, and the Longform view stitch pages back into one continuous read, so many small pages is the happy path.
Searching by meaning is unaffected — MojoPad brings its own small model for that, which comes down once and then works with no connection at all. What the message is about is the model that writes: answers, summaries, explanations. MojoPad can set that up for you in about two minutes, without a command line — the message itself has a button, and Set Up Local AI… in the command palette gets there any time. It also knows the difference between Ollama not being installed and Ollama being installed but asleep, and says which. See Getting Started with Ollama, and Local AI for what you then have.
The index builds in the background the first time — give a large document a minute, and watch for “Semantic index ready” in the status bar. Searching by meaning works with nothing installed — MojoPad brings its own model for it. If you have declined that download, choose MojoPad’s own under Settings ▸ AI ▸ Search by meaning to be asked again (keyword search works either way).
Yes — import a PDF or ePub and use the AI drawer's This page scope, or ✦ Summarize this page. Long documents are read in full: questions retrieve the relevant passages from anywhere in the book, and summaries are built part by part. Whole-book work needs an embedding model (see the first question above) and a generation model. It runs on your Mac, unless you have turned on Bring your own model and permitted this wiki, in which case the passages behind your question go to your provider.
The first time, MojoPad extracts the book's text and indexes it into sections — watch the status line under the Ask box. The index is then saved inside the document, so every later session starts warm: questions are quick and the book is findable in document search immediately. A whole-book summary is always a long job (the model genuinely reads everything) — the status line counts the parts, and the Stop button abandons it cleanly.
MojoPad is free, full-featured, for 14 days — no signup. After that, your documents
stay safe, readable, searchable, and exportable, but editing pauses until you enter a
license (MojoPad ▸ Enter License…, which opens Settings ▸ License). While the trial is
still running the badge in the status bar goes to the same place; once it has ended the paywall
covers the status bar, so the menu is the way in. One $59 license covers two Macs; buy it at
mojopad.app and the key arrives by email. Deactivate on this Mac in
Settings ▸ License frees a seat for another machine. Licenses never expire — minor
updates are free, and future major versions are an optional paid upgrade.
MojoPad quietly checks a small version file when it starts and lets you know when a new release is out — nothing downloads or installs without you, and Skip This Version means that release won't be offered again. Check any time with MojoPad ▸ Check for Updates…, and turn the automatic check off in Settings ▸ Updates if you prefer.
Choose Help ▸ Save Diagnostic Report… and attach the file to your report.
It gathers what support needs to see in one text file: app and macOS versions, where the
app is installed from, your preferences (any key you've pasted in is named but never
printed), statistics about the open documents — page counts and sizes, storyboards with
their card counts and depth, mindmaps with their thoughts, starting points, hand-placed and
bent branches (and a warning naming the command that brings back a thought carried off every
screen), reading highlights — backup status, and the recent application log. If any pages are linked to files on your Mac it lists those pages, their
files, and whether each one is approved, present and in step; folders nobody has approved
are named but never read. It also tries the update address from inside the app and writes
down exactly what happened. Page content is never included, and you can open the
file and read every line of it before sending. MojoPad also keeps
a rolling log at ~/Library/Logs/MojoPad/; errors are recorded there as
they happen, so a report saved even days after a problem usually still shows it.
That's macOS doing its job — allow it in System Settings ▸ Privacy & Security ▸ Microphone if you declined the first prompt.
That's a Markdown page — Markdown can't express colors, so they don't survive the trip to source. Convert the page to rich text for full styling. See Markdown Pages.
There is no back door; that's the feature. Check File ▸ Show Backups in Finder for a copy old enough to predate the encryption, if one exists.
The link targets a document that has moved or been renamed. Links carry the document's path; if you reorganize, copy fresh links.
It's installed the first time the app runs from /Applications. Launch MojoPad once, then check the PDF menu again. A document must be open to receive the PDF.
In the .mojopad document wherever you saved it — it's a folder bundle
of JSON and your attachments; right-click ▸ Show Package Contents to see for yourself.
Backups live in MojoPad's Application Support folder (File ▸ Show Backups in Finder).
Nothing is stored anywhere else.
The Help menu and mojopad.app will always have a current address.
MojoPad is built by people who use it daily — sharp edges get filed fast.