# Importing snippets

Import your snippet library from Raycast, Texpand, Typing Hero, or a Nibit backup file.

Import is available in the [web companion](https://app.nibit.app) under **Settings** → **Import**, and on Android via **Settings** → **Import / Export** → **Import file**.

Both platforms auto-detect the file format — just drop or select the file and Nibit will figure out the rest.

## Supported sources

| App | File format | Web | Android |
|-----|-------------|-----|---------|
| **Raycast** | JSON | ✓ | ✓ |
| **Texpand** | ZIP backup | ✓ | ✓ |
| **Typing Hero** | CSV export | ✓ | ✓ |
| **Nibit backup** | JSON | ✓ | ✓ |

## From Raycast

Export your Raycast snippets or quick links as JSON (Raycast → Snippets → Export or Raycast → Quick Links → Export). Both file types are supported on web and Android.

**Snippets** — Nibit auto-detects if your snippets use a custom trigger prefix (e.g. `@` or `!`). If a dominant prefix is found, you'll be prompted to replace it with Nibit's default `,` prefix before importing. You can also keep your existing prefix or choose a different replacement character.

**Quick links** — All web URLs are imported as Quick Links. Local path targets (e.g. `~/Downloads`) are automatically skipped since Nibit only supports URL-based links.

Dynamic placeholders are converted automatically:

| Raycast placeholder | Nibit placeholder |
|---------------------|-------------------|
| `{argument}` | `{argument name="argument"}` |
| `{browser-tab}` | *(stripped — not supported in Nibit)* |

All other Raycast variables (named arguments, etc.) are passed through unchanged since they already use Nibit-compatible syntax.

## From Texpand

Export a backup from Texpand (Texpand → Settings → Backup & Restore → Create backup). This produces a `.zip` file. Drop it into the import card or select it on Android.

Most Texpand variables are converted to the equivalent Nibit placeholder:

| Texpand variable | Nibit placeholder |
|------------------|-------------------|
| `%d`, `%D` (date/time components) | `{date format="..."}` / `{time format="..."}` |
| `%clipboard%` | `{clipboard}` |
| `%textinput{label}%` | `{argument name="label"}` |

**Not currently supported:** Tasker variables (e.g. `%TASK_VAR`). These are preserved as literal text and flagged with a warning. Support for these may be added in a future release.

## From Typing Hero

Export your Typing Hero library as a CSV file (Typing Hero → Settings → Backup → Export as CSV). Drop the file into the import card or select it on Android.

Most Typing Hero variables are converted to the equivalent Nibit placeholder:

| Typing Hero variable | Nibit placeholder |
|----------------------|-------------------|
| `%cursor%` | `{cursor}` |
| `%clipboard_paste%` | `{clipboard}` |
| `%textinput:label%` | `{argument name="label"}` |
| `%snippet:name%` | `{snippet name="name"}` |
| `%EEEE%`, `%MMMM%`, etc. (date/time) | `{date format="..."}` / `{time format="..."}` |
| `%futuredate:n:UNIT:%fmt%%` | `{date format="..." offset="..."}` |
| `%futuretime:n:UNIT:%fmt%%` | `{time format="..." offset="..."}` |

**Not currently supported:** contact variables (`%contact:*%`), date ranges (`%daterange:*%`), and send/navigate actions (`%send_and_navigate_back%`, `%send_in_messaging_app%`). These are preserved as literal text and flagged with a warning during import.

## From a Nibit backup

If you have a Nibit backup file (`.json`), drop it into the import card to restore your snippets, quick links, and transforms. Duplicates are detected before import on web so you can review what will be added.
