How Do I Bulk Import Dictionary Items and Snippets?
Last updated: October 18, 2026
Available on: Mac, Windows. Bulk import is desktop-only.
Bulk import adds dictionary words, corrections, and snippets from a file instead of one entry at a time. Import sits on the Dictionary and Snippets pages, next to Add new.
Prepare your file
Dictionary uses .csv; Snippets uses .json. Each file can be up to 3 MB. The 1,000-entry limit counts valid, non-duplicate items after existing-library duplicates are removed — not raw rows. The upload screen links to file-format help.
Dictionary items (CSV)
Use one column for vocabulary Flow should recognize, or two columns for misspelling,correction. No header is required.
Limits: 60 characters for the first field, 4,000 for the correction; longer rows are skipped.
Rows: Blank lines are ignored and not counted as skipped. Rows with only empty fields, a word of only spaces, more than two nonempty columns, or unterminated quotes are skipped. Trailing commas are harmless:
hello,world,imports as hello → world;word,imports as word.Quoting: Double-quote fields containing commas and double any literal quote —
"Whisper Flow","Wispr Flow"orWhisper Flow,Wispr Flow.Text: Unix and Windows line endings work, surrounding spaces are removed ("Wispr " imports as "Wispr"), and Unicode, accented characters, CJK, emoji, and symbols are accepted.
Snippets (JSON)
Use a JSON array of objects with name and text fields; both values must be strings, and other fields are ignored.
Trigger name: up to 60 characters; surrounding spaces are removed, so "Enter RCA " is saved as "Enter RCA".
Expansion text: up to 4,000 characters, plain text only.
Skipped entries: non-string, whitespace-only, or over-limit values.
How to import
Note: All and Personal import to your personal library; Shared with team imports to your team library, and Share with team on the upload screen changes that destination. Without team features, Import and Add new are disabled on Shared with team but stay enabled on All and Personal; the sharing toggle is disabled, points you to settings to set up a team, and the import targets your personal library.
Open Dictionary or Snippets on your chosen tab.
Click Import in the top-right corner, next to Add new.
Enable Share with team before selecting the file for a team library; leave it off for personal imports.
Click the upload zone to browse, or drag and drop your file onto it.
Review the previewed items and the duplicate count marked as skipped.
Click Import [N] items for Dictionary or Import [N] snippets for Snippets.
Click Done! once success shows the number of items or snippets added.
The list refreshes automatically. Personal imports report the full previewed count; a team import's added count can differ. Successful personal imports sync in the background to your other devices; on desktop, use Refresh/Sync in the Dictionary or Snippets toolbar to pull the latest items.
Note: Sync can be blocked by an organization disabling Cloud Sync, an enterprise zero-data-retention lock, or a signed HIPAA BAA. These restrictions have no self-enable toggle. If you turned Cloud Sync off yourself and no policy lock applies, you can turn it back on.
If your organization turned Dictionary or Snippets off
An organization on a Growth or Enterprise plan can turn Dictionary or Snippets off for everyone. While a feature is off, it is hidden in the desktop app, and importing, adding, or editing entries is blocked with a message such as "Dictionary is disabled by your organization".
Entries saved before the change are kept, still apply while you dictate, and reappear if the feature is turned back on. To import again, ask an admin to re-enable the feature under Settings → Organization.
Why items are skipped
Phrases already in your library are skipped case-insensitively, ignoring surrounding spaces: "Flow", "flow", and "flow " all match. Personal imports check both dictionary items and snippets in your personal library; team imports check only the team library. Default entries count as duplicates, within one CSV only the first occurrence of a phrase is kept, and a personal word does not block the same phrase in a team import.
If every item already exists, the preview says "All [N] items already exist in your dictionary" (or snippets/team library), only Done is offered, and nothing is imported.
If import fails
Error | Meaning or action |
Incorrect file type. Please upload a .csv file | Use the required extension; Snippets requests .json instead. |
File is too large (max 3MB) | Split the file into smaller files. |
Cannot import more than 1,000 entries. Please try again. | Split the entries across separate imports. |
Incorrect file format | Check the file structure; a CSV with no valid rows also triggers this. |
Failed to parse file / Failed to read file | Flow could not parse or read the file. |
No dictionary items found in file / No snippets found in file | The file is empty. |
Dictionary is disabled by your organization | An admin must re-enable the feature before you can import. |
Failed to import items / Failed to import snippets | Flow returns to Upload and clears the previous preview. |
Format and size errors include a "Learn more →" link. To retry, correct the file and repeat steps 4–7 above; you can select the same file again.
Still need help?
Contact support if a correctly formatted file still won't import, or if items are missing or incorrect after a successful import. Include your platform (Mac or Windows), the file you tried to import, and what happened.