The matches read-only property of the MediaQueryList interface is a Boolean that returns true if the document currently matches the media query list, or false if not.

You can be notified when the value of matches changes by watching for the change event to be fired at the MediaQueryList.


var matches = <varm>MediaQueryList.matches;


A Boolean which is true if the document currently matches the media query list; otherwise, it's false.


This example detects viewport orientation changes by creating a media query using the orientation media feature:

function addMQListener(mq, callback) {
  if (mq.addEventListener) {
    mq.addEventListener("change", callback);
  } else {

  event => {
    if (event.matches) {
      /* now in landscape orientation */
    } else {
      /* now in portrait orientation */


Specification Status Comment
CSS Object Model (CSSOM) View Module
The definition of 'matches' in that specification.
Working Draft Initial definition

Browser compatibility

Update compatibility data on GitHub
ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid webviewChrome for AndroidFirefox for AndroidOpera for AndroidSafari on iOSSamsung Internet
matchesChrome Full support 9Edge Full support 12Firefox Full support 6IE Full support 10Opera Full support 12.1Safari Full support 5.1WebView Android Full support YesChrome Android Full support 18Firefox Android Full support YesOpera Android Full support YesSafari iOS Full support 5Samsung Internet Android Full support 1.0


Full support  
Full support

See also