Skip to content

Import and export

TabControl's storage is local and private by default. If you want a copy outside that — a backup, a transfer to another Mac, or a document you can share — use export.

Settings → Import/Export → Export sessions

TabControl serializes every session (and optionally, everything in trash) into a single JSON file. Save it wherever you'd save any backup.

Each session includes the fields you'd expect, plus the full tab snapshot:

{
"exportedAt": "2026-04-24T15:30:00Z",
"version": 5,
"sessions": [
{
"id": "4a7f9b2e-...",
"name": "Q2 research — long-tail SEO",
"capturedAt": "2026-04-10T14:22:11Z",
"tabCount": 24,
"windowCount": 2,
"isLocked": false,
"displayOrder": 3,
"category": "Research",
"snapshot": {
"windows": [
{
"focused": true,
"incognito": false,
"isPrivate": false,
"tabs": [
{
"title": "How Google ranks long-tail keywords in 2026",
"url": "https://example.com/article",
"pinned": false,
"active": true,
"discarded": false,
"muted": false,
"index": 0
}
]
}
]
}
}
]
}

The export is plain UTF-8 JSON. Any editor can open it. Any script can parse it.

Right-click a session in the popup → Copy as Markdown. TabControl puts a formatted list on your clipboard:

# Q2 research — long-tail SEO
_24 tabs · 2 windows · captured Apr 10, 2026_
## Window 1
- [How Google ranks long-tail keywords in 2026](https://example.com/article)
- [SEO trends — 2026 benchmarks](https://example.com/benchmarks)
...

Perfect for pasting into a doc, a shared note, or a meeting agenda.

Settings → Import/Export → Import sessions

Pick the JSON file you exported. TabControl validates the schema, then merges the sessions into your existing list.

  • New sessions — added.
  • Existing sessions with the same ID — skipped. TabControl doesn't overwrite sessions by default.
  • Invalid sessions — skipped with a warning shown at the end of the import.

If iCloud sync is on, imported sessions are pushed to iCloud on the next sync cycle, so they'll appear on your other Macs too.

TabControl can import from a couple of popular tab manager exports:

  • OneTab (text list of URLs) — Settings → Import/Export → Import from OneTab, paste the exported text.
  • Session Buddy (JSON) — use Import sessions with the Session Buddy JSON file. TabControl will map fields it recognizes and skip the rest.

Migration is covered in more detail on the Migration page on the site.

You can back up the entire database file directly if you prefer. It's a single SQLite file inside the App Group container:

~/Library/Group Containers/group.com.marsolab.TabControl/

Copy the sessions.sqlite file from there (while TabControl isn't actively writing to it — easiest just after a restart). To restore, quit TabControl, drop the file back in, and relaunch. This bypasses the JSON format entirely and is the fastest way to replicate a full state.