Switch from Raycast Snippets to Retext
Raycast exports snippets as a plain JSON file, and Retext reads it as-is. Keywords become triggers, and most dynamic placeholders map one to one.
- Reads
- Raycast Export Snippets file (.json)
- Where it runs
- On your Mac. Nothing is uploaded.
- Shortcut
- File → Import Snippets… (⇧⌘I)
Step 1: Export from Raycast
- 1
Run Export Snippets
Open Raycast and run the Export Snippets command.
- 2
Save the JSON file
Raycast saves your snippets as a JSON file. Snippet exports aren't encrypted, so there's no passphrase to set or remember.
- 3
Not the .rayconfig file
Export Settings & Data makes an encrypted .rayconfig backup. Retext can't read that one, so use Export Snippets.
Step 2: Import into Retext
- 4
Open the importer
In Retext, choose File → Import Snippets… (⇧⌘I), or go to Settings → Snippets → Import….
- 5
Pick the file
Retext works out the format from the file itself. Everything is read on your Mac. Nothing is uploaded.
- 6
Review the preview
Every snippet gets a row with its new trigger. Rows show placeholders that were kept as text, items that can't be imported and why, and any trigger you already use. Untick anything you don't want.
- 7
Import
Click Import. Your snippets work right away in every app. Type ;trigger to expand.
What carries over
Raycast and Retext use the same curly-brace style, so most placeholders keep their meaning. Options Retext doesn't have stay as text.
| In Raycast | In Retext | Notes |
|---|---|---|
{date} | {date} | |
{date offset="+3d"} | {date+3}Offsets in days | Offsets in days |
{time} | {time} | |
{day} | {day} | |
{clipboard} | {clipboard} | |
{cursor} | {cursor} | |
{argument name="Name"} | {fill:Name}Defaults and options are dropped | Defaults and options are dropped |
{argument} | {fill:Argument 1}Unnamed arguments are numbered | Unnamed arguments are numbered |
{snippet name="Sig"} | {snippet:sig}Points at that snippet's keyword | Points at that snippet's keyword |
Kept as text
These import, but the placeholder stays as written. The preview lists them on each row so you can edit them after.
- • {uuid}, {datetime} and {selection}
- • Modifiers such as {clipboard | uppercase}
- • {clipboard offset=1} (clipboard history)
- • Custom formats and locales, such as {date format="yyyy-MM-dd"}
Not imported
These show in the preview as "can't import", with the reason.
- • Nothing is skipped by format. A snippet without a keyword uses its name as the trigger, and the preview notes it.
Groups and tags
The export has no folders, so Raycast snippets import without tags.
Triggers and conflicts
Leading punctuation is dropped and Retext's semicolon goes in front. Snippets with no keyword use their name, with spaces turned into dashes.
| Raycast trigger | Retext trigger |
|---|---|
!sig | ;sig |
;addr | ;addr |
(no keyword) Meeting Notes | ;meeting-notes |
If you already have a snippet with the same trigger, the preview says so and you choose for each one:
- Keep Both (the default) imports it under a new trigger with a source prefix, so
;sigbecomes;rc-sig. A prefix is used instead of a suffix because;sig-2could never be typed:;sigwould fire first. - Skip leaves your existing snippet alone.
- Replace swaps in the imported content. Your snippet keeps its trigger, and tags are merged.
Two snippets with the same trigger inside one file can be kept (renamed) or skipped. Triggers are also checked against Retext's rules (2 to 40 characters, no line breaks, no snippet that contains its own trigger), and anything that fails shows why.
What you get after switching
Dictation
Hold a key and talk. Retext turns speech into text on your Mac, types it into the app you're in, and takes voice commands (beta) like "insert snippet sig", so your imported snippets work by voice too.
Autocomplete (beta)
Start typing a trigger and Retext shows the snippet as ghost text, with dynamic fields filled in. Press Tab to accept. You don't have to remember every abbreviation you imported.
Per-app snippets
Limit a snippet to the apps it belongs in, or keep it out of others, so the same trigger can say one thing in Mail and another in Slack.
Teams
Share a snippet library with your team, with owner, admin, editor and viewer roles, managed from the Mac app.
When to stay with Raycast
Retext isn't the right move for everyone. Stay if:
- •You live in Raycast as your launcher and its free snippets do everything you need.
- •You rely on {selection}, {uuid}, clipboard history offsets or placeholder modifiers.
- •Your team already shares snippets through Raycast for Teams.
FAQ
›Where's the export option in Raycast?
Run the Export Snippets command from Raycast's search bar. It saves a JSON file. The full Export Settings & Data backup is encrypted and isn't the right file.
›Do Raycast arguments still prompt me?
Yes. Named arguments become Retext {fill:Name} fields, which ask for the value when you expand. Unnamed arguments are numbered (Argument 1, Argument 2). Defaults and option lists are dropped.
›Why don't my imported snippets have folders?
Raycast's snippet export doesn't include them. Add tags in Retext after importing.
›Can I keep Raycast running?
Yes. Retext only replaces snippet expansion. If both have the same keyword, delete it from one of them so it doesn't expand twice.
›How many snippets can I import for free?
The free plan holds 5 snippets. The preview shows how many fit and lets you pick. Pro has no limit.
Bring your Raycast snippets with you
Download Retext, press ⇧⌘I, and pick your file. Your snippets work in every app on your Mac in a few minutes.