1. Essentials

1.1. Folders

SnippetsLab keeps your snippets organized by storing them in folders. When you choose a folder from the sidebar, all snippets under that folder are listed in the middle column. If a snippet does not belong to any folder, it will appear under “Uncategorized.”

  • Show or hide the sidebar: Choose View > Show Sidebar from the menubar, or press Shift-Command-L.

  • Create a folder: Do any of the following:

    • Choose File > New Folder from the menubar.

    • Click the plus button in the bottom left of the sidebar, then choose New Folder.

    • Press Shift-Command-N.

  • Place a folder inside another folder: Drag the folder and drop it on top of the other folder. Alternatively, hold Option when creating a new folder to create a nested folder directly.

  • Rename or delete a folder: Right-click a folder from the sidebar, then choose Rename or Delete. Deleting a folder will also delete all sub-folders, and affected snippets will be moved to “Uncategorized.”

  • Automatically sort folders and Smart Groups: By default, you can manually reorder the folders with drag and drop. To keep them sorted alphabetically, choose SnippetsLab > Preferences…, click General, then select Automatically sort folders and Smart Groups.

  • Set default language: You can set the default language for a folder. For details, please see Default Language.

  • Show or hide snippets from subfolders: By default, when you select a folder, the app will show all snippets within the selected folder hierarchy, including snippets in all of the subfolders. Starting from version 2.1, you can choose to hide snippets that are in subfolders by right-clicking on the list view, and unchecking Display Options > Include Snippets From Subfolders.

  • Set a custom folder icon: Right click on a folder and choose Set Alternative Icon…


You can drag one (or multiple) snippets directly to a folder to add them to said folder. This works for tags as well.

1.2. Tags

You can add tags to the snippets to make them easier to find. Unlike folders, a snippet can have multiple tags at the same time.

  • Show tags field: By default, the tags field is hidden when the current snippet does not have any tags assigned to it. Click ellipsis.circle button and choose Add Tags to show the tags field.


    If you use tags frequently, you may consider making the tags field always visible. To to that, choose SnippetsLab > Preference, click General, then select Always show tags field.

  • Rename or delete a tag: Right-click on a tag from the sidebar and select Rename or Delete. Deleting a tag will remove it from all snippets.


The tag names are case-insensitive, yet case-preserving. This means you can use them with any capitalization (such as when searching or adding existing tags), but they will always be displayed exactly as they are created. For example, after creating a tag named LaTeX, you can equivalently add or search for latex later.

1.3. Smart Groups

SnippetsLab can create “smart groups” based on rules you specify, and then update their content automatically as your library changes. Smart groups are listed in a dedicated section of the sidebar, with icon gearshape next to them.

Smart groups can be convenient because they allow you to dynamically search your snippets based on custom predicates. It also exposes a wide range of criteria, many of which are not otherwise searchable using the search bar. For example, you could create smart groups that:

  • Display all snippets without any tags

  • Display all snippets with multiple fragments

  • Display all snippets in the Apple Development PLUS any that has either the iOS tag or Mac tag

  • Display all snippets that are modified within the last 7 days

If you want to create more complex rules—for example, with some criteria matching all rules and others matching any—you can create sets of “nested” rules.


To create a Smart Group, follow the steps below:

  1. Choose File > New Smart Group from the menubar, or press Control-Command-N.

  2. Enter a name for your Smart Group.

  3. Specify the rules you want to apply.

  4. To add another set of rules within a rule, hold down the Option key and click the Nest button. (When you hold down the Option key, the Add button changes to the Nest button.)

To rename, modify, duplicate or delete a smart group, right-click on it and choose the corresponding item in the context menu. You can also choose a custom icon for any smart group by choosing Set Alternative Icon… from the context menu.

1.4. Shortcuts

You can add your most frequently used folders, tags, and smart groups to the “Favorites” section of the sidebar as a shortcut.

  • Add a shortcut:

    • Right-click on a folder, tag, or smart group and choose Add to Favorites.

    • Alternatively, drag a folder, tag, or smart group to the Favorites section.

  • Remove a shortcut: Right-click on a shortcut and choose Remove from Favorites. This operation only removes the shortcut itself and won’t affect the underlying folder, tag, or smart group.

1.5. Languages

1.5.1. Active Languages

SnippetsLab offers more than 500 languages and text formats. To prevent the language selector menu from becoming overwhelmingly long, the app only shows “active” languages, as designated by the user. By default, the list of active languages only contains a handful of the most commonly used ones. You should customize this list to include the languages you personally use.

To set the active languages, choose SnippetsLab > Preferences… from the main menu and click Languages. Select the checkbox next to a language to mark it as active. To find a language quickly, use the search field directly above the list. You can also click the Active button on the left to see only active languages.



Unchecking a language as active will only hide it from the language selector menu. It won’t affect any snippets using this language.

1.5.2. Default Language

You can select both an app-wide default language and a default for each folder. Newly created snippets will use the folders default language (if set), and fallback to the app-wide default.

  • To set an app-wide default language, choose an item in Preferences > General > Default Language.

  • To set a per-folder default language, right-click on a folder and select one language in the Default Language submenu.

Note that in both cases, only Active Languages are displayed in the menu.

1.5.3. Automatic Language Detection

Starting from version 2.1, SnippetsLab automatically detects and sets the language when you paste content into the editor. This feature is powered by machine learning and supports over 50 most commonly used programming languages.

By default, the app only detects language if there isn’t a default language set for the current folder. You can choose to always detect, or to disable it entirely, from Preferences > Languages.

1.6. Snippets and Fragments

You can include multiple “parts” in a single snippet, which is known as fragments. Each fragment has its own notes and language.

Fragments can be useful when a snippet logically consists of multiple parts, especially when they have different languages. Some common use cases include:

  • A class header and its implementation

  • Some HTML code and its JavaScript/CSS counterparts

  • Different solutions to one problem

  • Pin a snippet to the top: You can pin individual snippets to the top from the list view. To do that, either swipe right to reveal the Pin action, or right-click and choose Pin from the context menu.

  • Add a new fragment: Either click on the ellipsis.circle button and choose New Fragment, or press the keyboard shortcut Command-T.

  • Rename or delete a fragment: Right-click on the fragment tab and choose Rename or Delete.

  • Reorder fragments: Right-click on the fragment tab and choose Move to Right or Move to Left. Alternatively, use the keyboard shortcuts Option-Shift-Command-[ and Option-Shift-Command-].


You can use the Command-1~9 keys to quickly jump to a specific fragment.

1.8. Custom Notes

You can add notes for a fragment to a dedicated “Notes” area. Links in the notes will automatically be recognized and made clickable.

By default, the notes field is hidden if there are no notes for the current fragment. To add notes, click ellipsis.circle button and choose Add Notes.


If you use notes frequently, you may want to set the notes field to always be displayed. To do that, choose SnippetsLab > Preference from the menubar, click General, then select Always show notes field.

1.9. Attachments

Starting from version 2.2, SnippetsLab allows you to add file attachments to fragments. You can insert an attachment by clicking on the ellipsis.circle button and choosing Add Attachments….

All attachments are displayed right below the notes area. You can activate quick look (similar to Finder) by selecting the item and press the spacebar. More options, including rename, open, save a copy and delete is available in the context menu activated through a right-click.


There is no limit to what files can be added, as long as the individual files are below the limit of 100 MB. Note that the quick look feature may not be available for files without proper extension or file types that are not supported by the system. Any quick look plugin installed on the system should work for SnippetsLab as well.

When inserting images, you can allow SnippetsLab to automatically optimize the images. This optimization can sometimes reduce the image file size dramatically with only minimal impact to the perceived quality. You can toggle this option from Preferences > General > Save optimized copies when importing images.


You can create a Smart Group to show all snippets with attachments.

1.10. Searching

SnippetsLab offers powerful searching capabilities. You can initiate a search from both the main application and the menubar assistant. To switch focus to the search bar from anywhere in the app, use the keyboard shortcut Shift-Command-F.

1.10.1. Search Options

SnippetsLab allows you to toggle a number of search features such as full-text search, fuzzy search, result ranking, and case sensitivity. To change these settings, click on the magnifyingglass button to reveal the options menu.

1.10.2. Search Filters

By default, SnippetsLab will display all snippets that contain the keyword, no matter which language, folder, or tag they may have. However, you can insert search filters to indicate exactly what you would like to find. For example, you can find snippets with a specific language, in a specific folder, or with some specific tags.


There are four ways to bring up the search filters menu:

  • Type the keyword in: in the search bar

  • Click on the magnifyingglass button and choose Insert Filter

  • Use the keyboard shortcut Control-Option-Command-P

  • You can also use the global shortcut for autocompletion: Option-Esc

While the menu is open, you can continue typing to narrow down the choices. You can also combine multiple filters at the same time, to show only snippets that satisfy all the criteria.

To quickly select what you want, use the Command-Up/Down keys to jump to the top or bottom of the list, and Option-Up/Down keys to jump to the previous or next section.


By default, the search filters menu will close automatically when you make a selection. To keep it open, hold the Option key.