Operations
Import and Export Snippets (JSON, CSV, YAML)
Export SlashSnip snippets as a JSON backup, and import JSON, CSV, or Espanso YAML files on another device without cloud sync.
Export/import is the current migration path for moving SlashSnip data between browser profiles or devices.
What is the current migration model?
SlashSnip does not provide cloud sync. The current path is manual export/import.
That means:
- export on device A
- import on device B
- verify the trigger flow locally
Why this matters for product messaging
If the product is local-first and cloud sync is not shipped, the docs should say that directly. A vague promise like "your data follows you" creates drift immediately.
Recommended operator checklist
- Export before major cleanup or migration.
- Keep one known-good backup.
- After import, test:
//hello- one personal shortcut
///menu- one variable-based template
Which file formats does the importer accept?
Export always produces a SlashSnip JSON backup. Import accepts three kinds of files:
- SlashSnip JSON backup — the full round-trip: snippets, categories, and settings restore as they were exported.
- Generic JSON or CSV — files you prepared yourself or exported from another tool. The importer matches field names case-insensitively and ignores separators, so
Shortcut,short_cut, andshortcutall work. For the trigger it readsshortcut,trigger,abbreviation,abbr,prefix, orkey; for the body —content,text,body,replace, and similar aliases; grouping comes fromcategories,folders,groups, orcollections. - Espanso YAML —
.yml/.yamlmatch files. The importer reads thematches:list:trigger(or atriggerslist — one snippet per entry),replaceincluding multi-line block scalars, and the optionallabelas the title. The Espanso cursor marker$|$converts to{cursor}.
Known limits, so you are not surprised mid-migration:
- Espanso
vars, forms, and extensions are not imported — anything Espanso computes at expansion time stays on the desktop. A match with no trigger is skipped. - Formatting stored outside the plain-text body (for example HTML properties in another tool's export) is not read.
- A file that is not a SlashSnip backup counts as an ordinary import, so the free-plan limits of 25 snippets and 5 categories apply to it.
For step-by-step walkthroughs with real file examples, see moving an Espanso library into Chrome and what transfers when you switch from Text Blaze.
Product boundary
Do not imply automatic synchronization. Unless the shipped product contract changes, direct users to export/import for browser-profile and device moves.
What should you read next?
- Review the local-storage privacy boundary before moving sensitive snippet libraries.
- Run the quick-start checklist after an import to verify the restored triggers.
Continue the workflow
Compatibility Playbook
Verify the target surface before you standardize a workflow.
Starter Pack Article
Turn the docs into the first practical snippet bundle.