Welcome What's new in Chrome extensions API reference Samples
Welcome What's new in Chrome extensions API reference Samples

Match patterns

Published on Updated on

A match pattern is a URL with the following structure, used to specify a group of URLs:

<scheme>://<host>/<path>

scheme: Must be one of the following, separated from the rest of the pattern using a double slash (//):

  • http
  • https
  • A wildcard *, which matches only http or https
  • file

For information on injecting content scripts into unsupported schemes, such as about: and data:, see Injecting in related frames.

host: A hostname (www.example.com). A * before the hostname to match subdomains (*.example.com), or just a wildcard *.

  • If you use a wildcard in the host pattern, it must be the first or only character, and it must be followed by a period (.) or forward slash (/).

path: Must contain at least a forward slash. The slash by itself matches any path, as if it were followed by a wildcard (/*).

Extensions use match patterns in a variety of use cases, including the following:

Special cases

"<all_urls>"
Matches any URL that starts with a permitted scheme, including any pattern listed under valid patterns. Because it affects all hosts, Chrome web store reviews for extensions that use it may take longer.
"file:///"
Allows your extension to run on local files. This pattern requires the user to manually grant access. Note that this case requires three slashes, not two.
Localhost URLs and IP addresses
To match any localhost port during development, use http://localhost/*. For IP addresses, specify the address plus a wildcard in the path, as in http://127.0.0.1/*. You can also use http://*:*/* to match localhost, IP addresses, and any port.
Top Level domain match patterns
Chrome doesn't support match patterns for top Level domains (TLD). Specify your match patterns within individual TLDs, as in http://google.es/* and http://google.fr/*.

Example patterns

https://*/* or https://*/
Matches any URL using the https scheme.
https://*/foo*
Matches any URL using the https scheme, on any host, with a path that starts with foo. Examples of matches include https://example.com/foo/bar.html and https://www.google.com/foo.
https://*.google.com/foo*bar
Matches any URL using the https scheme, on a google.com host, with a path that starts with foo and ends with bar. Examples of matches include https://www.google.com/foo/baz/bar and https://docs.google.com/foobar.
file:///foo*
Matches any local file whose path starts with foo. Examples of matches include file:///foo/bar.html and file:///foo.
http://127.0.0.1/* or http://127.0.0.1/
Matches any URL that uses the http scheme and is on the host 127.0.0.1. Examples of matches include http://127.0.0.1/ and http://127.0.0.1/foo/bar.html.
http://localhost/*
Matches any localhost port.
*://mail.google.com/ or *://mail.google.com/*
Matches any URL that starts with http://mail.google.com or https://mail.google.com.

Updated on Improve article

This site uses cookies to deliver and enhance the quality of its services and to analyze traffic. If you agree, cookies are also used to serve advertising and to personalize the content and advertisements that you see. Learn more about our use of cookies.