The MediaTrackConstraints dictionary's aspectRatio property is a ConstrainDouble describing the requested or mandatory constraints placed upon the value of the aspectRatio constrainable property.

If needed, you can determine whether or not this constraint is supported by checking the value of MediaTrackSupportedConstraints.aspectRatio as returned by a call to MediaDevices.getSupportedConstraints(). However, typically this is unnecessary since browsers will simply ignore any constraints they're unfamiliar with.


var constraintsObject = { aspectRatio: constraint };

constraintsObject.aspectRatio = constraint;


A ConstrainDouble describing the acceptable or required value(s) for a video track's aspect ratio. The value is the width divided by the height and is rounded to ten decimal places. For example, the standard high-definition video aspect ratio of 16:9 can be computed as 1920/1080, or 1.7777777778.

If this value is a number, the user agent will attempt to obtain media whose aspect ratio is as close as possible to this number given the capabilities of the hardware and the other constraints specified. Otherwise, the value of this ConstrainDouble will guide the user agent in its efforts to provide an exact match to the required aspect ratio (if exact is specified or both min and max are provided and have the same value) or to a best-possible value.


See Example: Constraint exerciser in Capabilities, constraints, and settings for an example.


Specification Status Comment
Media Capture and Streams
The definition of 'aspectRatio' in that specification.
Candidate Recommendation Initial specification.

Browser compatibility

We're converting our compatibility data into a machine-readable JSON format. This compatibility table still uses the old format, because we haven't yet converted the data it contains. Find out how you can help!

Feature Chrome Firefox (Gecko) Microsoft Edge Internet Explorer Opera Safari
Basic support (Yes) No support ? No support (Yes) ?
Feature Android Android Webview Firefox Mobile (Gecko) IE Mobile Opera Mobile Safari Mobile Chrome for Android
Basic support ? (Yes) No support No support ? ? (Yes)

See also

Document Tags and Contributors

 Contributors to this page: Sheppy
 Last updated by: Sheppy,