Raycast Snippets: Text Expansion for Developers (2026)
Published February 22, 2026 • 9 min read
How many times per day do you type the same email response, the same console.log pattern, the same git commit prefix, or the same Slack standup template? If the answer is more than twice, you need text expansion. And if you're already using Raycast, you have it built in — no extra apps, no extra subscriptions.
Raycast Snippets let you create keyword-triggered text shortcuts that expand automatically as you type. Type ;;email and it becomes your full email address. Type ;;pr and it becomes a pull request template with today's date pre-filled. This guide covers everything: creating snippets, dynamic placeholders, real-world developer examples, and migrating from tools like TextExpander. If you're new to Raycast, start with our complete guide to what Raycast is.
What Are Raycast Snippets?
Snippets are text expansion shortcuts built into Raycast. Each snippet has two parts:
- A keyword trigger — a short string you type (e.g.,
;;email,;;sig,;;log) - Expanded text — the full content that replaces the keyword when triggered
When you type the keyword in any application, Raycast detects it and instantly replaces it with the expanded text. This works everywhere — your code editor, email client, Slack, terminal, browser, and any other text input.
The ;; prefix is a convention (and the default), but you can configure any prefix you want. The key is using a prefix that you'd never type normally, so snippets don't fire accidentally.
Creating Your First Snippet
Setting up a snippet takes about 10 seconds:
- Open Raycast (
Cmd+Space) - Type "Create Snippet" and press Enter
- Enter a name (e.g., "Email Address")
- Set the keyword (e.g.,
;;email) - Enter the snippet content (e.g.,
alex@example.com) - Save
Now type ;;email anywhere on your Mac and it instantly expands. No confirmation dialog, no delay — the text just appears.
You can also browse and manage all your snippets by typing "Search Snippets" in Raycast.
Dynamic Placeholders
Static text expansion is useful, but dynamic placeholders are where snippets become truly powerful. Raycast supports several placeholder types that insert context-aware content at expansion time.
Date and Time
Insert the current date or time in any format:
{date}— current date in your locale format{date:YYYY-MM-DD}— custom date format (e.g., 2026-03-10){date:MMMM D, YYYY}— long format (e.g., March 10, 2026){time}— current time{time:HH:mm}— 24-hour format
This is incredibly useful for daily logs, journal entries, meeting notes, and any template that includes the current date.
Clipboard Content
The {clipboard} placeholder inserts whatever is currently on your clipboard. This lets you build templates around pasted content. For example, a snippet for creating a markdown link:
[{clipboard}](url)
Copy a URL, type your snippet keyword, and the URL is automatically inserted into the markdown link template.
Cursor Position
The {cursor} placeholder sets where your cursor lands after the snippet expands. This is essential for templates where you need to fill in a specific field:
console.log('{cursor}', );
After expansion, your cursor is positioned between the quotes, ready for you to type the label.
Random UUID
The {uuid} placeholder generates a random UUID. Useful for test data, unique identifiers, or placeholder IDs during development.
Snippet Ideas for Developers
Here are the snippets I use most frequently. Feel free to steal them and adapt to your workflow.
Code Boilerplate
;;log→console.log('{cursor}', );— quick debug log with label;;imp→import { {cursor} } from '';— ES module import;;raf→ React arrow function component template with export;;ust→const [{cursor}, set] = useState();— React useState hook;;uef→useEffect(() => { {cursor} }, []);— React useEffect hook;;try→ try/catch block with error logging;;af→const {cursor} = async () => { };— async arrow function
Git & PR Templates
;;commit→ conventional commit template:feat({cursor}):;;pr→ Full PR description template with sections for "What changed," "Why," "How to test," and "Screenshots";;fixcommit→fix({cursor}):;;wip→WIP: {cursor} [skip ci]
Email & Communication
;;email→ your email address;;sig→ full email signature block;;thanks→Thanks for the quick response! {cursor};;lgtm→LGTM! Looks good to merge. Nice work on {cursor}.;;ooo→ Out-of-office auto-reply template with return date placeholder
Daily Workflows
;;standup→ Standup template:## Standup {date:YYYY-MM-DD}\n**Yesterday:**\n- {cursor}\n**Today:**\n- \n**Blockers:**\n- None;;meeting→ Meeting notes template with date, attendees, agenda, and action items sections;;todo→- [ ] {cursor}— markdown todo item;;now→{date:YYYY-MM-DD} {time:HH:mm}— current timestamp
Documentation & Markdown
;;link→[{cursor}]({clipboard})— markdown link using clipboard URL;;img→— markdown image using clipboard URL;;table→ markdown table skeleton with headers;;code→ fenced code block with language placeholder;;details→ HTML<details><summary>collapsible section
Snippet Collections and Groups
As your snippet library grows, organization becomes important. Raycast lets you organize snippets into groups (also called collections). You might create groups like:
- Code — all programming-related snippets
- Communication — email templates, Slack responses, PR comments
- Personal — addresses, phone numbers, IDs
- Work — company-specific templates, project names, API endpoints
- Markdown — formatting shortcuts for documentation
Groups are purely organizational — they don't affect how snippets work. But when you have 50+ snippets, being able to browse them by category in the "Search Snippets" view makes management much easier.
Importing from TextExpander and Alfred
If you're already using TextExpander, Alfred, or another text expansion tool, you don't have to start from scratch. Raycast supports importing snippets from other tools.
From TextExpander
- In TextExpander, export your snippets as a CSV file
- In Raycast, go to Snippets settings and use the import option
- Map the CSV columns to Raycast fields (keyword, content, name)
- Review and save
From Alfred
- Export your Alfred snippet collections
- Raycast can import Alfred snippet formats directly in most cases
- Review each snippet for compatibility — advanced Alfred features like nested snippets may need manual adjustment
Most simple text expansion snippets migrate cleanly. Complex snippets with scripting or advanced logic may need to be recreated as Raycast Script Commands instead. For more on the full feature comparison, see our best Raycast extensions guide which covers how extensions and snippets complement each other.
Raycast Snippets vs. TextExpander vs. Alfred Snippets
| Feature | Raycast | TextExpander | Alfred |
|---|---|---|---|
| Price | Free | $3.33/mo | $34 (Powerpack) |
| Auto-expansion | ✓ | ✓ | ✓ |
| Dynamic placeholders | ✓ | Advanced | Basic |
| Date/time variables | ✓ | ✓ | ✓ |
| Clipboard variable | ✓ | ✓ | ✓ |
| Cursor positioning | ✓ | ✓ | — |
| Fill-in forms | — | ✓ | — |
| Nested snippets | — | ✓ | — |
| Team sharing | Teams plan | ✓ | — |
| Bundled with launcher | ✓ | — | ✓ |
Bottom line: For most developers, Raycast Snippets cover 90% of text expansion needs and they're completely free. TextExpander has more advanced features (fill-in forms, nested snippets, JavaScript macros) but costs a monthly subscription. Alfred includes snippets with its Powerpack, but Raycast's snippet experience is more polished. If you want to go deeper into Raycast as a full TextExpander replacement, we have a dedicated guide covering advanced text expansion workflows.
If you're currently paying for TextExpander and already use Raycast, try migrating your snippets and canceling the subscription. Most users find they don't miss the advanced features.
Sharing Snippets with Teams
If you're on a Raycast Teams plan, you can create shared snippet libraries that automatically sync to all team members. This is valuable for:
- Code style consistency — shared boilerplate snippets ensure everyone uses the same patterns
- Customer support templates — standardized responses for common customer questions
- Documentation standards — shared markdown templates for READMEs, ADRs, and changelogs
- Onboarding — new team members immediately get all team snippets without manual setup
Even without a Teams plan, you can manually share snippets by exporting them and having teammates import the file. It's not automatic, but it works for small teams.
Power Tips for Snippet Pros
Once you've been using snippets for a while, these advanced techniques will make you even faster:
- Use consistent prefixes — organize by type with prefixes:
;;c-for code,;;e-for email,;;m-for markdown - Keep keywords short — the whole point is speed.
;;logbeats;;consolelog - Use the search — forgotten a keyword? Open Raycast, type "Search Snippets," and browse your full library with search
- Combine with clipboard — copy something relevant first, then trigger a snippet that uses
{clipboard}to build context-aware text - Build snippet chains — use one snippet to create a template, then use another snippet to fill parts of it
- Date formatting — learn the date format codes (YYYY, MM, DD, HH, mm) to create timestamps in exactly the format your project uses
- Review and prune quarterly — remove snippets you no longer use to keep your library fast and searchable
Getting Started
If you already have Raycast installed, you're ready. Snippets are a core feature available on the free plan — no extension to install, no upgrade required. Open Raycast, type "Create Snippet," and build your first one.
If you haven't installed Raycast yet, follow our step-by-step setup guide. You'll be creating snippets within five minutes.
For cloud sync (so your snippets work across multiple Macs) and the full suite of Pro features including AI, see the best current Raycast Pro deal — 80% off with a free 14-day trial, no coupon code needed.
Frequently Asked Questions
Are Raycast Snippets free?
Yes. Raycast Snippets are available on the free plan with no limitations on the number of snippets you can create. Dynamic placeholders, keyword triggers, and auto-expansion all work on the free tier. Raycast Pro adds cloud sync so your snippets work across multiple Macs, and Teams plans enable shared snippet libraries.
Can Raycast Snippets include dynamic content?
Yes. Raycast Snippets support dynamic placeholders including current date and time (in various formats), clipboard content, cursor position after expansion, and random UUIDs. For example, you can create a snippet that inserts today's date in YYYY-MM-DD format or pastes the current clipboard content into a template.
Can I import snippets from TextExpander or Alfred?
Yes. Raycast supports importing snippets from other tools. You can export your TextExpander snippets as CSV and import them into Raycast. Alfred snippet collections can also be migrated, though the process may require some manual adjustment for advanced features like nested snippets or complex scripts.
Can I share snippets with my team?
Sharing snippets with team members requires a Raycast Teams plan. With Teams, you can create shared snippet libraries that automatically sync to all team members. This is useful for standardizing code patterns, email templates, and documentation conventions across your organization. Individual sharing via export/import is available on all plans.