How to search your ProtonMail messages

ProtonMail uses zero-access encryption to store all emails at rest, and emails sent between ProtonMail users are fully end-to-end encrypted. This is good for privacy because it means we cannot read the content of your emails. To preserve this level of privacy, we have created a search function that allows you to search your emails without giving our servers access to your messages.

Below are the steps for the different methods you can use to search your messages privately so you can find specific emails whenever you need to.

Searching email contents with the ProtonMail web app

If you have a paid ProtonMail plan, you can search the contents of your encrypted emails without giving ProtonMail access to those messages. We achieve this in the web app by creating a local index of your emails and storing it using your browser’s web storage

When you perform a content search in the web app, ProtonMail goes through the index of your downloaded emails and highlights all matches, so your emails do not need to be searched on our servers. Your emails remain private and secure, as the emails are searched locally on your device.

1. When searching the contents of your emails with the ProtonMail web app for the first time, you will see a pop-up asking if you want to search message content. Click Activate.

Activate Encrypted Search

2. Confirm that you want to Enable the ability to search your messages’ contents. Once done, your messages will be downloaded from ProtonMail’s servers, decrypted, and indexed locally in an encrypted state.

This process may take a few minutes and can be quite resource-intensive. You can Pause indexing your messages and resume indexing later. You can still perform a standard search using other parameters by clicking Advanced search options while indexing is in progress.

Indexing

Note: If you have indexed your message content before but use a different browser, you will need to create a new index by following these steps again.

3. Once the indexing is complete, you can search for one or more keywords in the search bar, which will return results that include the contents of your messages.

  • Your index will be updated automatically — new emails will be added regularly as long as your browser is open.
  • If you have not used your browser for some time, the index might need a few seconds to update before you can search message content again.
  • If your mailbox is very large, you can speed searches up by disabling Search message content. The index will not be erased if you do this.

Note: Although rare, the contents of a large inbox may require more storage capacity than your browser offers. In this case, a date will be displayed showing how far back in time you can search the contents of your encrypted messages. Because the index size is limited by your browser’s web storage capacity, this date will be updated as new emails arrive in your inbox to ensure the most recent messages can be searched.

4. To temporarily disable email search, you can toggle the switch next to Search message content. To delete the index of your emails from your web storage, you need to clear your browser data. You will need to re-index your emails by following the steps above if you want to reactivate email content search.

Troubleshooting ProtonMail content search

You may see the following error messages:

Content search cannot be enabled in this browser. Please try another browser.

Your browser does not support web storage. Please use one of our recommended browsers instead.

Please activate your content search again.

Your index is no longer valid or has been corrupted. You will need to rebuild the index by disabling and then re-enabling the search message content option (see above).

Searching email contents with ProtonMail Bridge

You can also search the contents of your emails on your desktop device by decrypting your messages and downloading them to a third-party email client with ProtonMail Bridge. You can then search your message contents locally using your email client’s built-in search functions. 

Advanced search in ProtonMail

Anyone with a ProtonMail account (whether on a Free plan or a paid plan) can use the advanced search feature in the ProtonMail web app, which allows you to search your emails by:

  • Subject (by searching for a keyword that is in the subject of the email)
  • Email address
  • Folder location (Inbox, Drafts, Sent, Archive, Spam, Trash, or custom folders)
  • Sent or received date
  • Attachments (whether the email has an attachment or not)

If you need to search the contents of your emails, you will need to upgrade to a ProtonMail Plus plan and then activate search message content using the steps above, or download ProtonMail Bridge to search within the third-party email client of your choice.

How to perform an advanced search

To perform an advanced search in the ProtonMail web app, click the arrow to the right of the Search messages field.

If you have a ProtonMail Plus plan, you will then need to select More search options to reveal the advanced search fields.

If you have a ProtonMail Free plan, the advanced search fields will be shown immediately.

The advanced search fields include:

  • A search bar, which you can use to search for keywords in the subject lines of your messages. (If you have a ProtonMail Plus plan, you can also use this field to search the contents of your emails as described above.)
  • Search tabs, which let you choose whether to search within All mail, or your Inbox, Drafts, or Sent folders. You can also select the drop-down menu labeled Other to choose another folder in your account, such as Starred, Archive, or a custom folder.
  • Date selection fields, which allow you to search for emails sent or received within a specific time frame.
  • Fields for either Sender or Recipient, which allow you to search for emails that were sent from or received by a specific person by searching their name or email address.
  • You can also search your emails by whether or not they have an attachment.

You can use any combination of the advanced search features to narrow down your search. For example, you can look for emails in your inbox that have an attachment, were received within a specific time period, from a specific email address, with a particular keyword in the subject (or contents if you have a Plus plan).

Click Search to execute the search using these parameters.

How to search using advanced syntax

ProtonMail also supports complex searches using advanced syntax for power users. Advanced search syntax works in the ProtonMail web app and in our Android and iOS apps, but is not compatible with our search message content feature, which must be disabled to use advanced syntax. 

Special characters can be used to execute complex logic when performing searches on your message metadata (the Subject, To/CC/BCC, and From fields). The logical AND is implicit between any two search keywords (searching for ‘hello world’ means match ‘hello’ AND ‘world’). The other search operators are listed in the table below.

Operator Example Example explanation
|hello | worldMatches text containing ‘hello’ or ‘world’
! or –hello ! worldMatches text with ‘hello’ but not ‘world’
( )(cat -dog) | (cat mouse)Matches text with ‘cat’ and without ‘dog’ or ‘cat’ with ‘mouse’
” ““hello world”Matches text with the keywords adjacent and ordered such as ‘hello world’ and ‘hello world and universe’ but not ‘hello brave new world’. You may use * as a word placeholder – ‘hello * * world’ would match ‘hello brave new world’
” “~N“hello world”~10Matches text containing ‘hello’ and ‘world’ with less than 10 words between them
” “/N“hello dear world”/2Matches text with ‘hello’ and ‘world’ only if they appear in the specified order; ‘hello world’ would match, but ‘world hello’ would not.
^^helloMatches text that begins with ‘hello’, such as ‘hello world’ but not ‘say hello’
$world$Matches text that ends with ‘world’, such as ‘hello world’ but not ‘world peace’
* and ?h?llo w*dThe ? operator matches any single character, while * matches zero or more characters. The example search would match ‘hello world’ as well as ‘hallo word’