Skip to main content

Connection Sharing

Export connections to a .tablepro file and share with your team. Passwords stay in your Keychain.

Export

Right-click a connection > Export Connection…. Select multiple first to export together. Or use File > Export Connections… for all. Exported: host, port, username, type, SSH/SSL config, color, tag, group, safe mode. Not exported: passwords, key passphrases, TOTP secrets.
Export connections

Import

  • File > Import Connections…
  • Right-click empty area > Import Connections…
  • Double-click a .tablepro file
  • Drag onto TablePro
A preview shows each connection before importing:
BadgeMeaning
Green checkmarkReady
Yellow triangleSSH key or cert not found
”duplicate” tagAlready exists
Duplicates are unchecked. Check to import, then pick As Copy, Replace, or Skip.
Import preview
Right-click > Copy as Import Link. Paste in Slack, a wiki, or a README.
tablepro://import?name=Staging&host=db.example.com&port=5432&type=PostgreSQL&username=admin

Encrypted Export Pro

Include passwords in the export, protected by a passphrase (AES-256-GCM).
  1. Right-click > Export…
  2. Check Include Credentials
  3. Enter passphrase (8+ characters), confirm
  4. Export…
When importing, TablePro prompts for the passphrase.
Encrypted export

Linked Folders Pro

Watch a shared directory for .tablepro files. Connections appear read-only in the sidebar. Each person enters their own password. Settings (Cmd+,) > Sync > Linked Folders > Add Folder… Works with Git repos, Dropbox, network drives.
Linked Folders

Environment Variables Pro

Use $VAR and ${VAR} in .tablepro files. Resolved at connection time.
{
  "host": "${DB_HOST}",
  "username": "$DB_USER"
}
Works with .env files, 1Password CLI (op run), direnv.

File Format

JSON. Required fields: name, host, type.
{
  "formatVersion": 1,
  "connections": [
    {
      "name": "Production",
      "host": "db.example.com",
      "port": 3306,
      "type": "MySQL",
      "username": "deploy",
      "tagName": "production"
    }
  ],
  "groups": [
    { "name": "Backend", "color": "Blue" },
    { "name": "Staging", "color": "Green", "parentGroupName": "Backend" }
  ],
  "tags": [{ "name": "production", "color": "Red" }]
}
Groups and tags match by name. Missing ones are created. Nested groups use parentGroupName to preserve hierarchy. Paths use ~/ for portability.

Sharing vs iCloud Sync

SharingiCloud Sync
ForTeamYour Macs
HowFiles, linksCloudKit
PasswordsPer-user (encrypted with Pro)Optional sync
RequiresNothing (Pro for extras)Pro + iCloud