How to Use Google Search Operators for Advanced Search

Updated by Chima Mmeje — November 11, 2024.

Ultimate Guide to Google Search Operators and Parameters

Google's search operators, including advanced search operators, can be entered directly into the Google search box to refine your search. Search parameters can be used to construct your own search strings by typing them into the address bar, also called the Chrome omnibar.

A search operator might look like: 

allintitle: tesla vs edison

A search parameter might look like:

https://www.google.com/search?q="nikola+tesla"

What are Google search operators?

Google search operators are special characters and commands sometimes called “advanced operators” or search parameters that extend the capabilities of regular text searches. An advanced search operator like 'daterange:' can be used to filter search results based on specific date ranges. Search operators can be useful for everything from content research to technical SEO audits.

By using search operators, you can refine your search results and zero in on exactly what you’re looking for. Whether you’re conducting research, performing technical SEO audits, or simply trying to find specific information, search operators can make your Google searches more efficient and targeted.

Brief history of search operators

Google search operators have been around since the early days of Google. Initially introduced to help users refine their search results, these operators have evolved significantly over time. In the beginning, there were only a few basic operators, but as the internet grew and search needs became more complex, Google expanded its arsenal. Today, there are over 40 advanced Google search operators available, each designed to help users find more specific and relevant information. This evolution reflects Google’s commitment to improving search functionality and user experience.

How do I use search operators?

You can enter search operators directly into the Google search box, just as you would a text search:

You can also use search operators to find internal links on your website, which can help improve site organization and SEO performance.
Except in special cases (such as the “in” operator), Google will return standard organic results.

Basic search operators

Basic search operators are essential for effective search on a search engine. They are easy to remember and frequently used. These operators help you quickly narrow down your search results and find the most relevant pages.

Using quotes (“”) for exact phrases

Using quotes around a search term will search for an exact phrase. This can be incredibly useful when you’re looking for specific information, such as a product name, a quote, or a particular phrase. For example, searching for “bissell crosswave 1785” will return results that include the exact phrase “bissell crosswave 1785,” ensuring that you find the most relevant pages.

AND operator for combining keywords

The AND operator searches for results related to both/all terms that you’ve typed in the search field. Typically, Google’s algorithm will correctly estimate whether it’s a phrase search or multiple separate terms, making AND mostly redundant. For example, searching for seo AND content will return results that include both “seo” and “content.” This operator ensures that all specified terms are present in the search results.

- operator for excluding keywords

The hyphen (like a minus sign) helps you exclude words from your search queries. This is particularly useful when you want to filter out certain results. For example, if you’re searching for “SEO California” but want to exclude results from Los Angeles, you can use the hyphen: “SEO California -Los -Angeles -LA.” This will ensure that your search results do not include pages related to Los Angeles, helping you find more relevant information.

Google search operators cheat sheet

You can find all of the major organic search operators below, broken up into three categories: “Basic”, “Advanced”, and “Unreliable”. Basic search operators are operators that modify standard textsearches.

I. Basic search operators
" ""nikola tesla"
Put any phrase in quotes to force Google to use exact-match. On single words, prevents synonyms.
ORtesla OR edison
Google search defaults to logical AND between terms. Specify "OR" for a logical OR (ALL-CAPS).
|tesla | edison
The pipe (|) operator is identical to "OR". Useful if your Caps-lock is broken :)
( )(tesla OR edison) alternating current
Use parentheses to group operators and control the order in which they execute.
-tesla -motors
Put minus (-) in front of any term (including operators) to exclude that term from the results.
*tesla "rock * roll"
An asterisk (*) acts as a wild-card and will match on any word.
#..#tesla announcement 2015..2017
Use (..) with numbers on either side to match on any integer in that range of numbers.
$tesla deposit $1000
Search prices with the dollar sign ($). You can combine ($) and (.) for exact prices, like $19.99.
€9,99 lunch deals
Search prices with the Euro sign (€). Most other currency signs don't seem to be honored by Google. 
in250 kph in mph
Use "in" to convert between two equivalent units. This returns a special, Knowledge Card style result.

Advanced search operators are special commands that modify searches and may require additional parameters (such as a domain name). Advanced operators are typically used to narrow searches and drill deeper into results.

II. Advanced search operators
intitle:intitle:"tesla vs edison"
Search only in the page's title for a word or phrase. Use exact-match (quotes) for phrases.
allintitle:allintitle: tesla vs edison
Search the page title for every individual term following "allintitle:". Same as multiple intitle:'s.
inurl:tesla announcements inurl:2016
Look for a word or phrase (in quotes) in the document URL. Can combine with other terms.
allinurl:allinurl: amazon field-keywords nikon
Search the URL for every individual term following "allinurl:". Same as multiple inurl:'s.
intext:intext:"orbi vs eero vs google wifi"
Search for a word or phrase (in quotes), but only in the body/document text.
allintext:allintext: orbi eero google wifi
Search the body text for every individual term following "allintext:". Same as multiple intexts:'s.
filetype:"tesla announcements" filetype:pdf
Match only a specific file type. Some examples include PDF, DOC, XLS, PPT, and TXT.
related:related:nytimes.com
Return sites that are related to a target domain. Only works for larger domains.
AROUND(X)tesla AROUND(3) edison
Returns results where the two terms/phrases are within (X) words of each other.

Unreliable operators have either been found to produce inconsistent results or have been deprecated altogether. The "link:" operator was officially deprecated in early 2017. It appears that "inanchor:" operators are still in use, but return very narrow and sometimes unreliable results. Use link-based operators only for initial research.

III. Unreliable/deprecated operators
~~cars
Include synonyms. Seems to be unreliable, and synonym inclusion is default now.
++cars
Force exact-match on a single phrase. Deprecated with the launch of Google+.
daterange:tesla announcements daterange:2457663-2457754
Return results in the specified range. Can be inconsistent. Requires Julian dates.
link:link:nytimes.com
Find pages that link to the target domain. This operator was deprecated in early 2017.
inanchor:inanchor:"tesla announcements"
Find pages linked to with the specified anchor text/phrase. Data is heavily sampled.
allinanchor:allinanchor: tesla announcements
Find pages with all individual terms after "inanchor:" in the inbound anchor text.

Note that, for all of the "allin...:" operators, Google will try to apply the operator to every term following it. Combining "allin...:" operators with any other operators will almost never produce the desired results.

Advanced search operator tips & tricks

Having all of the pieces is only the first step in building a puzzle. The real power of search operators comes from combining them.

Use search operators to find guest post opportunities by targeting websites open to publishing guest content. Search queries like 'write for us' or 'guest post submission' paired with industry-specific keywords can help uncover suitable sites. Additionally, leveraging advanced techniques such as using author searches and tools like Ahrefs can identify high-quality platforms for guest blogging.

1. Chain together operator combos

You can chain together almost any combination of text searches, basic operators, and advanced operators:

"nikola tesla" intitle:"top 5..10 facts" -site:youtube.com inurl:2015

This search returns any pages that mention "Nikola Tesla" (exact-match), have the phrase "Top (X) facts" in the title, where X ranges from 5 to 10, are not on YouTube.com, and have "2015" somewhere in the URL.

2. Hunt down plagiarized content

Trying to find out if your content is unique or if someone is plagiarizing you? Use a unique phrase from your text, put it in quotes (exact-match) after an "intext:" operator, and exclude your own site with "-site:"...

intext:"they were frolicking in our entrails" -site:moz.com

Similarly, you can use "intitle:" with a long, exact-match phrase to find duplicate copies of your content.

3. Audit your HTTP->HTTPS transition

Switching a site from HTTP to HTTPS can be challenging. Double-check your progress by seeing how many of each type of page Google has indexed. Use the "site:" operator on your root domain and then exclude HTTPS pages with "-inurl:"...

site:moz.com -inurl:https

This will help you track down any stragglers or find pages that might not have been re-crawled by Google.

These are just a few examples of a nearly infinite set of combinations. Looking for more examples? You're in luck! We've created a mega-list of 67 examples to catapult you toward site operator mastery.


Rise in the rankings with Moz Pro

With top-notch link and keyword data and in-depth analytics, Moz Pro provides the tracking and insights you need to reach #1. Take a free 30-day trial on us and see what you can achieve:

Start my free trial


Deep dive into Google search parameters

Ever wanted to know how to construct your own Google search strings? This ultimate guide contains all of Google's search string parameters. you can also build your own advanced search using google's advanced search form.

http://www.google.com/search?

Google's URL. You'll see it if you look at the address bar, or Chrome omnibar.

q=query+goes+here

The query string. Words are separated by + signs.

Everything from here on in is preceded by an & sign, as it's tagged on to the end. Here's where things get interesting...

1. Exact match query

as_epq=query+goes+here

Results must include the query, in the word order displayed.

Shows as "query goes here"


2. Advanced "Or" filter
 

as_oq="query+string"+goes+here

Results must include one or more of the words in this string. 

Basically, it's like a more advanced version of the one above, using an "or" filter. Thus, every result must have the main initial query, and one or more of the sets of terms in these strings.

Shows as "query string" OR goes OR here

3. Negative Keywords
 

as_eq=don't+include+these+words

Results must NOT include any words in this string.

Shows as -don't -include -these -words

4. Limit the number of results
 

num=xx

Controls the number of results shown. 

Must be a numeric value, and can be anything up to 100. Doesn't work with fractions.

5. Filetype match

as_filetype=extension

Only returns results that end in .extension. Currently supports any input. Try it - make a file with a random extension, get it indexed and do a search. Also shows that as long as it validates to something.

Shows as filetype:extension

6. Limit results to one site
 

as_sitesearch=example.com

Limits results to just the site you choose.

Shows as site:example.com

7. Find results from specific dates

as_qdr=x

Swap out x for the following to limit the search to only files first indexed in:

  • d - the previous 24 hours
  • w - the previous seven days
  • m - the previous month
  • y - past year
  • mn - the previous n number of months. So m2 would be the previous two, m3 would be three, and so on. Does work into double digits

8. Find pages with specific usage rights

as_rights=xxx

Limits the search to files/pages that have certain rights. The options are:

  • (cc_publicdomain|cc_attribute|cc_sharealike|cc_noncommercial|cc_nonderived) - free to use or share
  • (cc_publicdomain|cc_attribute|cc_sharealike|cc_nonderived).-(cc_noncommercial) - free to use or share, including commercially
  • (cc_publicdomain|cc_attribute|cc_sharealike|cc_noncommercial).-(cc_nonderived) - free to use, share, or modify
  • (cc_publicdomain|cc_attribute|cc_sharealike).-(cc_noncommercial|cc_nonderived) - free to use, share, or modify commercially

If you want to make up your own, put the bits you want in brackets, separated by pipe characters (|), and exclude the bits you don't by putting them in brackets, preceded by .- and again pipe-separated.

9. Do an allintitle search as a query string

allintitle%3Asearch+terms

This is actually appended to the q= parameter, hence a search for fishing with the allintitle term "sea bass" would require the following query:

q=fishing+allintitle%3Asea+bass

Shows as allintitle:search terms

N.B. This also works with allintext to search page body text, allinurl for searching the URL, and allinanchor for finding sites that are linked to with certain anchor text.

10. Find products in a specific price range

nnn..yyyy

Like the allin parameters, this is actually appended to the q= parameter. What this does though is let you search for results between numeric ranges. For example, if you wanted to find documents with numbers between 15 and 100, you'd put in 15..100. Very useful for finding products in a price range, when combined with the site limiter. Works with $, £, and other such things.

Shows as query 15..100

11. Do + searches as a query string
 

%2Bterm

Again, this is appended to the q= parameter. The %2B is actually the + sign encoded, and will return results featuring only the term used, with no pluralisations, alternate tenses, or synonyms.

Shows as +term


12. Find results for your search term, and synonyms
 

~term

Another one that's appended to the q= parameter. Returns results for the term used and synonyms.

Shows as ~term


13. Find definitions for your search term
 

define%3Aword

Yet another q= parameter add-on. Returns definitions for the word you put in.

Shows as define:word

14. Find results for two words that can have other words in between
 

term * term two

And another q= parameter add-on. Returns results with listings that contain both words, with other words between them.

15. Use Google's calculator via query string

n+n2, n-n2, n/n2, n*n2, n^n2 and n% of n2

Google's calculator functions. They are, in order, add, subtract, divide, multiply, raise to the power of, and return x percentage of.

16. Modify safe search

safe=active

Sets safe search to on. To turn it off, change active to images.

17. Find similar sites

as_rq=example.com

Finds sites Google thinks are related to the URL you put in.

Shows as query related:example.com

18. View a site's backlinks

as_lq=example.com

Finds sites that link to the URL you put in.

Shows as query link:example.com

19. Open a new window

newwindow=n

Opens clicked listings in a new window. Very useful for opening lots of documents at a time, for competitor research. Set to 1 to activate, and 0 to turn it off.

20. Modify personalized search

pws

Controls whether personalised search is on or not. Set to 1 to activate, and 0 to turn it off.

21. Stop Adwords from collecting data

adtest=on

Turns off AdWords database connection, so your browsing won't show up as an impression, and will disable the URLs. Set to on to activate, and off to turn it off.

22. Simulate a button click

btnG=Search

Simulates a click on the normal Google results buttom. Change to btnI to get the I'm Feeling Lucky button result.

23. Change input encoding settings

ie=

Controls the input encoding settings. This defaults to UTF-8, and is worked out server-side, hence changing it doesn't do anything.

24. Change output encoding settings

oe=

Controls the output encoding settings. Works in the same way as ie, so you can tinker away, but it won't do anything.

25. Change language

&hl=value

Changes the interface language. I won't list them all here, but you can find them all here.

26. Limit languages

lr=value

Limits the languages used to return results. Not hugely effective. That said, here's the list of all of them:

  • lang_ar - Arabic
  • lang_hy - Armenian
  • lang_be - Belarusian
  • lang_bg - Bulgarian
  • lang_ca - Catalan
  • lang_hr - Croatian
  • lang_cs - Czech
  • lang_da - Danish
  • lang_nl - Dutch
  • lang_en - English
  • lang_eo - Esperanto
  • lang_et - Estonian
  • lang_tl - Filipino
  • lang_fi - Finnish
  • lang_fr - French
  • lang_de - German
  • lang_el - Greek
  • lang_iw - Hebrew
  • lang_hu - Hungarian
  • lang_is - Icelandic
  • lang_id - Indonesian
  • lang_it - Italian
  • lang_ja - Japanese
  • lang_ko - Korean
  • lang_lv - Latvian
  • lang_lt - Lithuanian
  • lang_no - Norwegian
  • lang_fa - Persian
  • lang_pl - Polish
  • lang_pt - Portuguese
  • lang_ro - Romanian
  • lang_ru - Russian
  • lang_sr - Serbian
  • lang_sk - Slovak
  • lang_sl - Slovenian
  • lang_es - Spanish
  • lang_sv - Swedish
  • lang_th - Thai
  • lang_tr - Turkish
  • lang_uk - Ukrainian
  • lang_vi - Vietnamese
  • lang_zh-CN - Chinese Simplified
  • lang_zh-TW - Chinese Traditional

27. Only view pages from certain locations

cr=countryXX

Limits the search results to pages/sites from certain locations. Change XX to any of the following, to limit the results:

  • AF - Afghanistan
  • AL - Albania
  • DZ - Algeria
  • AS - American Samoa
  • AD - Andorra
  • AO - Angola
  • AI - Anguilla
  • AQ - Antarctica
  • AG - Antigua and Barbuda
  • AR - Argentina
  • AM - Armenia
  • AW - Aruba
  • AU - Australia
  • AT - Austria
  • AZ - Azerbaijan
  • BS - Bahamas
  • BH - Bahrain
  • BD - Bangladesh
  • BB - Barbados
  • BY - Belarus
  • BE - Belgium
  • BZ - Belize
  • BJ - Benin
  • BM - Bermuda
  • BT - Bhutan
  • BO - Bolivia
  • BA - Bosnia and Herzegovina
  • BW - Botswana
  • BV - Bouvet Island
  • BR - Brazil
  • IO - British Indian Ocean Territory
  • VG - British Virgin Islands
  • BN - Brunei
  • BG - Bulgaria
  • BF - Burkina Faso
  • BI - Burundi
  • KH - Cambodia
  • CM - Cameroon
  • CA - Canada
  • CV - Cape Verde
  • KY - Cayman Islands
  • CF - Central African Republic
  • TD - Chad
  • CL - Chile
  • CN - China
  • CX - Christmas Island
  • CC - Cocos (Keeling) Islands
  • CO - Colombia
  • KM - Comoros
  • CG - Congo - Brazzaville
  • CD - Congo - Kinshasa
  • CK - Cook Islands
  • CR - Costa Rica
  • CI - Cote d'Ivoire
  • HR - Croatia
  • CU - Cuba
  • CY - Cyprus
  • CZ - Czech Republic
  • DK - Denmark
  • DJ - Djibouti
  • DM - Dominica
  • DO - Dominican Republic
  • EC - Ecuador
  • EG - Egypt
  • SV - El Salvador
  • GQ - Equatorial Guinea
  • ER - Eritrea
  • EE - Estonia
  • SZ - Eswatini
  • ET - Ethiopia
  • FK - Falkland Islands (Malvinas)
  • FO - Faroe Islands
  • FJ - Fiji
  • FI - Finland
  • FR - France
  • GF - French Guiana
  • PF - French Polynesia
  • TF - French Southern Territories
  • GA - Gabon
  • GM - Gambia
  • GE - Georgia
  • DE - Germany
  • GH - Ghana
  • GI - Gibraltar
  • GR - Greece
  • GL - Greenland
  • GD - Grenada
  • GP - Guadeloupe
  • GU - Guam
  • GT - Guatemala
  • GN - Guinea
  • GW - Guinea-Bissau
  • GY - Guyana
  • HT - Haiti
  • HM - Heard and McDonald Islands
  • VA - Holy Sea
  • HN - Honduras
  • HK - Hong Kong
  • HU - Hungary
  • IS - Iceland
  • IN - India
  • ID - Indonesia
  • IQ - Iraq
  • IE - Ireland
  • IL - Israel
  • IT - Italy
  • JM - Jamaica
  • JP - Japan
  • JO - Jordan
  • KZ - Kazakhstan
  • KE - Kenya
  • KI - Kiribati
  • KP - Korea, Democratic People's Republic of
  • KR - Korea, Republic of
  • KW - Kuwait
  • KG - Kyrgyzstan
  • LA - Lao People's Democratic Republic
  • LV - Latvia
  • LB - Lebanon
  • LS - Lesotho
  • LR - Liberia
  • LY - Libyan Arab Jamahiriya
  • LI - Liechtenstein
  • LT - Lithuania
  • LU - Luxembourg
  • MO - Macau
  • MK - Macedonia
  • MG - Madagascar
  • MW - Malawi
  • MY - Malaysia
  • MV - Maldives
  • ML - Mali
  • MT - Malta
  • MH - Marshall Islands
  • MQ - Martinique
  • MR - Mauritania
  • MU - Mauritius
  • YT - Mayotte
  • MX - Mexico
  • FM - Micronesia, Federated States of
  • MD - Moldova, Republic of
  • MC - Monaco
  • MN - Mongolia
  • MS - Montserrat
  • MA - Morocco
  • MZ - Mozambique
  • MM - Myanmar
  • NA - Namibia
  • NR - Nauru
  • NP - Nepal
  • NL - Netherlands
  • AN - Netherlands Antilles
  • NC - New Caledonia
  • NZ - New Zealand
  • NI - Nicaragua
  • NE - Niger
  • NG - Nigeria
  • NU - Niue
  • NF - Norfolk Island
  • MP - Northern Mariana Islands
  • NO - Norway
  • OM - Oman
  • PK - Pakistan
  • PW - Palau
  • PS - Palestinian Territory
  • PA - Panama
  • PG - Papua New Guinea
  • PY - Paraguay
  • PE - Peru
  • PH - Philippines
  • PN - Pitcairn
  • PL - Poland
  • PT - Portugal
  • PR - Puerto Rico
  • QA - Qatar
  • RE - Reunion
  • RO - Romania
  • RU - Russian Federation
  • RW - Rwanda
  • SH - Saint Helena
  • KN - Saint Kitts and Nevis
  • LC - Saint Lucia
  • PM - Saint Pierre & Miquelon
  • VC - Saint Vincent and the Grenadines
  • WS - Samoa
  • SM - San Marino
  • ST - Sao Tome and Principe
  • SA - Saudi Arabia
  • SN - Senegal
  • CS - Serbia and Montenegro
  • SC - Seychelles
  • SL - Sierra Leone
  • SG - Singapore
  • SK - Slovakia
  • SI - Slovenia
  • SB - Solomon Islands
  • SO - Somalia
  • ZA - South Africa
  • GS - South Georgia and The South Sandwich Islands
  • ES - Spain
  • LK - Sri Lanka
  • SD - Sudan
  • SR - Suriname
  • SJ - Svalbard & Jan Mayen
  • SE - Sweden
  • CH - Switzerland
  • SY - Syrian Arab Republic
  • TW - Taiwan
  • TJ - Tajikistan
  • TZ - Tanzania
  • TH - Thailand
  • TL - Timor-Leste
  • TG - Togo
  • TK - Tokelau
  • TO - Tonga
  • TT - Trinidad and Tobago
  • TN - Tunisia
  • TR - Turkey
  • TM - Turkmenistan
  • TC - Turks and Caicos Islands
  • TV - Tuvalu
  • UG - Uganda
  • UA - Ukraine
  • AE - United Arab Emirates
  • GB - United Kingdom
  • US - United States
  • UM - United States Minor Outlying Islands
  • UY - Uruguay
  • UZ - Uzbekistan
  • VU - Vanuatu
  • VE - Venezuela
  • VN - Viet Nam
  • VG - Virgin Islands (British)
  • VI - Virgin Islands (U.S.)
  • WF - Wallis and Futuna Islands
  • EH - Western Sahara
  • YE - Yemen
  • ZM - Zambia
  • ZW - Zimbabwe

Keep learning