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 colon followed by a double slash (://):
- http
- https
- A wildcard *, which matches onlyhttporhttps
- 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: A URL path (/example). For host permissions, the path is required but ignored. The wildcard (/*) should be used by convention.
Extensions use match patterns in a variety of use cases, including the following:
- Injecting content script.
- Declaring host permissions that some Chrome APIs require in addition to their own permissions.
- Granting access to web-accessible resources.
- Allowing message sending and receiving using the "externally_connectable.matches" manifest key.
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 inhttp://127.0.0.1/*. You can also usehttp://*:*/*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/*andhttp://google.fr/*.
Example patterns
- https://*/*or- https://*/
- Matches any URL using the httpsscheme.
- https://*/foo*
- Matches any URL using the httpsscheme, on any host, with a path that starts withfoo. Examples of matches includehttps://example.com/foo/bar.htmlandhttps://www.google.com/foo.
- https://*.google.com/foo*bar
- Matches any URL using the httpsscheme, on a google.com host, with a path that starts withfooand ends withbar. Examples of matches includehttps://www.google.com/foo/baz/barandhttps://docs.google.com/foobar.
- file:///foo*
- Matches any local file whose path starts with foo. Examples of matches includefile:///foo/bar.htmlandfile:///foo.
- http://127.0.0.1/*or- http://127.0.0.1/
- Matches any URL that uses the httpscheme and is on the host 127.0.0.1. Examples of matches includehttp://127.0.0.1/andhttp://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.comorhttps://mail.google.com.