Skip to content
Back to documentation

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.

Published March 14, 2026Updated August 21, 2026

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.

  1. Export before major cleanup or migration.
  2. Keep one known-good backup.
  3. 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, and shortcut all work. For the trigger it reads shortcut, trigger, abbreviation, abbr, prefix, or key; for the body — content, text, body, replace, and similar aliases; grouping comes from categories, folders, groups, or collections.
  • Espanso YAML.yml / .yaml match files. The importer reads the matches: list: trigger (or a triggers list — one snippet per entry), replace including multi-line block scalars, and the optional label as 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.

Continue the workflow

Browse related articles