Bring Your Notes From Anywhere to Jottii
Switching journal or notes apps used to mean choosing between starting over and copy-pasting for an evening. Jottii's import tool fixes that. Zip whatever you've got, drop it in, confirm the preflight, and your notes land inside an end-to-end encrypted workspace at jottii.com — and they'll follow you to the native apps when those ship.
The other side matters just as much. The day you arrive, your data is already one click from leaving. That's the tenet: you own everything you write, and we make leaving as easy as joining. Import is the same idea, pointed the other direction.
Both halves run on your device
Import and export both happen locally. When you drop a zip into the importer, the file is opened in your browser or app process; the contents are decrypted (if they were encrypted in transit) and the resulting entries are encrypted on your device with your master key before anything reaches our servers. When you export, the reverse: ciphertext on the server is fetched, decrypted on your device with the master key, and packaged into the zip. At no point do unencrypted entries leave your machine. We never see the plaintext, on either side.
What you can import today
The importer accepts a single zip and figures out what's inside. It currently supports:
- Markdown (
.md,.markdown) - Obsidian, Bear, generic notes apps, your own folder of files. - Plain text (
.txt) - one note per file, frontmatter optional. - HTML (
.html,.htm) - on web today; native build adds it next. - Evernote ENEX (
.enex) - on web today; native build adds it next. - Day One JSON - the official Day One export format.
- Standard Notes JSON - the decrypted backup format.
- Jottii native - re-import from a Jottii export zip (round-trip).
For ambiguous files (like a .txt that's actually a Standard Notes dump, or a .json that could be either Day One or Standard Notes), the importer peeks at the first few hundred bytes and routes by content. You don't have to label anything.
The flow, in two steps
- Zip the source.
- Open Jottii → Settings → Import → drop the zip.
That's it. The preflight screen shows you what'll come in - file count, daily-note matches, anything that'll be skipped (with the reason) - so you can confirm before anything is written.
Per-source notes
- Obsidian. Zip the whole vault folder. Subfolder names are preserved as tags. Files named like
2026-04-29.mdare recognized as daily notes; you choose whether they route to Journal or Notes. - Bear. File → Export Notes → Markdown → zip the export folder. Tags inside the body are preserved.
- Apple Notes. Apple doesn't ship a Markdown export; use a third-party Markdown exporter (e.g. Exporter for macOS), then zip the resulting folder.
- Day One. Settings → Import / Export → Export JSON. Zip the file (or the folder if you exported with attachments). Drop it in.
- Standard Notes. Settings → Backups → Decrypted Backup → JSON. Zip and import.
- Evernote. Right-click a notebook → Export → ENEX. Zip the file. Today the importer reads ENEX on the web; native ENEX support is on the roadmap.
What the preflight tells you
Before writing anything, Jottii shows:
- Total - files seen in the zip.
- Daily-note matches - how many of those look date-named (you decide whether they route to Journal or Notes).
- Skips, by reason - files that won't come in and why: an attachment, a file too large, an unknown extension, a JSON shape it didn't recognize.
You confirm. Only then does anything land in your workspace. If you cancel, nothing is written.
What's skipped today
- Attachments (images, audio, video, PDFs). Jottii is text-first today; we don't ingest media. The source vault keeps them.
- Files larger than 5 MB. Most journal entries are nowhere near this; very large files are usually images or rich exports.
- Unknown JSON shapes. A
.jsonthat isn't Day One or Standard Notes won't be guessed at - we'd rather skip than mangle. - Unsupported extensions. Stuff that isn't a notes format.
We chose "skip and tell you" over "import and pray." If something matters, you'll see it in the skips list.
The free-tier 50-note workspace cap
On the free tier, a Jottii workspace can hold up to 50 notes total. The cap is workspace-wide, not per-import session.
If your import would push you over 50, the preflight stops and gives you two options:
- Pick a subset. Trim the zip locally (remove some files, re-zip, re-import). Keep the most important notes for free.
- Upgrade. Paid plans remove the cap entirely. Full vault, no math.
The cap is a deliberate floor on the free tier, not a trick. We surface it before any writes, not after.
Export - the same idea, reversed
Settings → Export builds a zip with:
- One Markdown file per Jottii entry, organized by date.
- A
jottii-export.jsonmanifest that the importer recognizes for clean round-trips.
That's it. Open the zip in Obsidian, VS Code, any Markdown editor, or save it for the day you want to leave. There is no "request your data" flow, no waiting period, no support ticket.
Re-importing a Jottii export back into Jottii works because of the manifest: the importer recognizes the format and treats it as a faithful restore rather than a fresh import.
Why this matters
Plenty of apps say "your data is yours." Most define that as "available to you, conditionally, while you're a customer in good standing and the company is around." We define it as: you own the words, you hold the master key, you can take everything out in one click, any day, no friction.
Import is the half people focus on when they're switching in. Export is the half that proves the door swings both ways. We ship both because the architecture only means something if the doors stay open.
If you're moving in: start a 7-day no-card trial and bring your zip. If you want the security architecture under all of this, see Your Master Key, Your Data - Real Ownership in Jottii and What End-to-End Encryption Actually Means for Your Journal. For the head-to-head against Obsidian specifically, see Obsidian vs Jottii - Sync Without the Tax. For the broader 2026 landscape, The Best Private Journal Apps in 2026.