Gmail Advanced Search – Ultimate Guide

One of the main reason why most of us love Gmail is because of its generous offering in terms of storage space. With more than 7Gb (and counting) free mail storage space, there’s really no need to delete your emails and still maintaining a far distance from blowing it up.

Not deleting emails leads us to next potential problem – messy and unsorted inbox. Good news is, Gmail has a easy workaround. In short, not only you get to keep all emails, they can also be organized, sorted and retrieved easily – all with the use of Labels.

Today we are going to talk about searching and retrieving your mails. The simple "Search Mail" function right beside Gmail logo actually does more than we imagined. In this post, we’ll introduce you the useful Gmail search operators as well as examples on how you can search for almost any type of mails easily via the search text field.

Full list after jump.

How to Perform a Reverse Email Search

How to Perform a Reverse Email Search

If you ever receive an email from an unknown person and want to know about who's behind this... Read more


Here’s a list of Gmail operators you can take advantage of when you search via the search box in your Gmail. Examples of usage is also provided.

"" (quotes):

Format: "keyword"Example: "meeting agenda"(Return only emails with the exact quoted keyword(s).)


Format: subject:keywordExample: subject:Google Alert(Return emails with keyword(s) in titles.)


Format: from:<name>Example: from:hongkiat(Return emails received from a specific user, but not the email address.)

Format: from:<>Example: emails received from a specific email address.)


Format: to:<name>Example: to:hongkiat(Return emails sent to a specific user, but not the email address.)

Format: to:<>Example: emails sent to a specific email address.)


Format: in:<label name/inbox/trash/spam/anywhere>Example: in:trash(Return emails stored in a specific location. If you are looking for emails that you have no clue where it is, use in:anywhere.)


Format: is:<starred/unread/read/chat>Example: is:unread(Return emails with a specific status. E.g, Starred, unread, read emails or even Gtalk chat logs.)

cc: & bcc:

Format: cc:<name> or cc:<>Example: cc:hongkiat or emails carbon copied to a user or specific email address.)

Format: bcc:<name> or cc:<>Example: bcc:hongkiat or emails blind carbon copied to a user or specific email address.)

Before: & after:

Format: before:<yyyy/mm/dd>Example: before:2010/07/01(Return emails before a specific date.)

Format: after:<yyyy/mm/dd> before:<yyyy/mm/dd>Example: after:2010/06/01 before:2010/07/01(Return emails after in range of or after specific date.)


Format: label:<label name>Example: label:Comments(Return emails with a specific label.)


Format: filename:<filename.format>Example: filename:presentation.pdf(Return emails with the exact filename attached.)

Format: filename:<format>Example: filename:pdf(Return emails that have the same file type attached.)


Format: has:attachmentExample: from:hongkiat has:attachment(A more general search for emails with attachments. Return emails with attachments, regardless of file type and format.)

Combining Operators

Here are some operators that allows you to yeild more specific and accurate results.


Format: operator:value -operator:valueExample: has:attachment -filename:zip(Return emails with attachements, filtering away those with .zip attachments.)


Format: operator:value OR operator:valueExample: OR emails received from either user(s).)


Format: operator:value AND operator:valueExample: AND has:attachment(Return only emails received from a specific email that has an attachment.)

10 (more) Advanced Search Examples:

The possibility of manipulating these operators are quite limitless. Here are some of the combination of search queries use frequently or find useful.

  1. Example: in:inbox label:facebook is:unread(Search for all unread emails labeled facebook inside inbox.)
  2. Example: in:anywhere from:peter(Search for all emails regardless where it’s stored (spam, inbox, trash) received from anyone with the name Peter.)
  3. Example: is:unread after:2010/06/01 before:2010/07/01(Search for all unread mails for the month of June. )
  4. Example: from: has:attachment(Return all emails with attachments sent by
  5. Example: in:inbox "meeting"(Search inbox for any emails with the keyword "meeting" in it.)
  6. Example: has:attachment filename:zip(Return only emails received from with .zip attachments.)
  7. Example: "facebook" all emails with the keyword "facebook", excluding those sent by
  8. Example: to:peter OR cc:peter(Return all emails sent to or carbon copied Peter.)
  9. Example: label:google OR all emails received from or labeled "google".)
  10. Example: "meeting" is:chat(Return all chat log files with keyword "meeting" in it.)