Switching from Raycast Snippets to TypeSnap
Moving your Raycast snippets to TypeSnap? Import a Raycast JSON export directly, with keywords and common dynamic placeholders converted. Here's how.
Raycast’s built-in snippets are convenient if Raycast is already your launcher, and if they cover what you need, there’s no reason to add another app. But if you want a dedicated text expander with fill-in forms, rich text and image snippets, per-app filters, and version history, TypeSnap is built for exactly that. Since version 1.4, TypeSnap imports Raycast’s JSON snippet export directly.
What Transfers
- Snippet text and names (the name becomes the TypeSnap label)
- Keywords, which become TypeSnap abbreviations
- Groups, when the export includes a group or category for a snippet. Snippets without one land in a group called Imported.
- Dynamic placeholders, converted to TypeSnap macros (see the table below)
Snippets without a keyword: Raycast lets you keep snippets you only insert from its search window. TypeSnap needs an abbreviation, so these are imported disabled, with a placeholder abbreviation that starts with ;; (for example ;;thank-you). The import warnings list each one. Give it a real abbreviation and enable it when you want to use it. I did it this way so an ordinary word like “thanks” never starts expanding on its own after an import.
Step 1: Export from Raycast
Raycast can export your snippets as a JSON file from its Snippets commands (look for Export Snippets). Save the file somewhere easy to find. Raycast’s snippet documentation covers import and export if the command has moved in your version.
Step 2: Import into TypeSnap
- Open TypeSnap
- Open File → Import Snippets and select Raycast as the source
- Click Choose File and select your
.jsonexport - Review the preview and its separate Warnings and Errors sections. Keywordless snippets and anything skipped are listed there.
- Click Import
If an imported abbreviation matches one you already have in TypeSnap, you’ll be asked whether to skip or replace it.
Placeholder Conversion Reference
| Raycast | TypeSnap | What it does |
|---|---|---|
{cursor} |
{{cursor}} |
Cursor position after expansion |
{clipboard} |
{{clipboard}} |
Clipboard contents |
{selection} |
{{selected}} |
Text that was selected |
{date} |
{{date:MMMM d, yyyy}} |
Current date |
{date format="yyyy-MM-dd"} |
{{date:yyyy-MM-dd}} |
Custom date format |
{date offset="+2d"} |
{{date:+2d:MMMM d, yyyy}} |
Date offset (days, weeks, months, years) |
{time} |
{{time:h:mm a}} |
Current time |
{datetime} |
{{date:yyyy-MM-dd HH:mm}} |
Date and time |
{day} |
{{date:EEEE}} |
Day of the week |
{uuid} |
{{uuid}} |
Unique ID |
{argument name="Client"} |
{{input:Client}} |
Fill-in field |
{argument name="Client" default="Acme"} |
{{input:Client:Acme}} |
Fill-in with a default value |
{argument name="Tone" options="Formal, Casual"} |
{{select:name=Tone:options=Formal,Casual}} |
Dropdown |
Good to know:
- Modifiers after a pipe, such as
{clipboard | uppercase}, are dropped. The placeholder converts, but the modifier doesn’t. - Placeholders the importer doesn’t recognize stay as plain text, so you’ll see them when you test.
After Import
Test a few of your most-used snippets, then work through the keywordless ones in the warnings list. Once everything works, turn off Raycast’s snippet expansion (or remove the keywords there) so both apps don’t expand the same text.
FAQ
Do I have to stop using Raycast?
No. Raycast is a lot more than snippets. Keep using it as your launcher and let TypeSnap handle text expansion. Just avoid having the same keywords active in both apps.
Why are some snippets disabled after import?
Those are snippets that had no keyword in Raycast. They’re imported disabled with a ;; placeholder so nothing fires unexpectedly. Set an abbreviation and enable them in the snippet editor.
TypeSnap is $17.99, one time. No subscription, no cloud account required. Download TypeSnap. Or see the full import guide for all supported formats.