Match patterns
A match pattern is a URL with the following structure, used to specify a group of URLs:
<scheme>://<host>:<port>/<path>
scheme: Must be one of the following, separated from the rest of the pattern using a colon followed by a double slash (://):
httphttps- 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 (/).
port (optional): Port to match. By default, this is treated as a wildcard with the same behavior as :*.
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
- Use
http://localhost/*, orhttp://127.0.0.1/*(to match an IP address). Match patterns match all ports unless an explicit port is specified. - 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://*/*orhttps://*/- 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/*orhttp://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.
Except as otherwise noted, the content of this page is licensed under the Creative Commons Attribution 4.0 License, and code samples are licensed under the Apache 2.0 License. For details, see the Google Developers Site Policies. Java is a registered trademark of Oracle and/or its affiliates.
Last updated 2012-09-18 UTC.