Web/API/CanvasRenderingContext2D/direction

From Get docs

This is an experimental technologyCheck the Browser compatibility table carefully before using this in production.


The CanvasRenderingContext2D.direction property of the Canvas 2D API specifies the current text direction used to draw text.

Syntax

ctx.direction = "ltr" || "rtl" || "inherit";

Options

Possible values:

"ltr"
The text direction is left-to-right.
"rtl"
The text direction is right-to-left.
"inherit"
The text direction is inherited from the <canvas> element or the Document as appropriate. Default value.

The default value is "inherit".

Examples

Changing text direction

This example draws two pieces of text. The first one is left-to-right, and the second is right-to-left. Note that "Hi!" in ltr becomes "!Hi" in rtl.

HTML

<canvas id="canvas"></canvas>

JavaScript

var canvas = document.getElementById('canvas');
var ctx = canvas.getContext('2d');

ctx.font = '48px serif';
ctx.fillText('Hi!', 150, 50);
ctx.direction = 'rtl';
ctx.fillText('Hi!', 150, 130);

Result

Specifications

Specification Status Comment
HTML Living StandardThe definition of 'CanvasRenderingContext2D.direction' in that specification. Living Standard  

Browser compatibility

Update compatibility data on GitHub

Desktop Mobile
Chrome Edge Firefox Internet Explorer Opera Safari Android webview Chrome for Android Firefox for Android Opera for Android Safari on iOS Samsung Internet

direction

Experimental'

Chrome Full support Yes

Disabled'

Full support Yes

Disabled'

Disabled' This feature is behind the Experimental Web Platform Features preference. To change preferences in Chrome, visit chrome://flags.

Edge Full support ≤79

Disabled'

Full support ≤79

Disabled'

Disabled' From version ≤79: this feature is behind the Experimental Web Platform Features preference.

Firefox

No support No

IE

No support No

Opera

No support No

Safari

Full support Yes

WebView Android

Full support Yes

Chrome Android

Full support Yes

Firefox Android

No support No

Opera Android

No support No

Safari iOS

Full support Yes

Samsung Internet Android

Full support Yes

Legend

Full support  
Full support
No support  
No support
Experimental. Expect behavior to change in the future.'
Experimental. Expect behavior to change in the future.
User must explicitly enable this feature.'
User must explicitly enable this feature.


See also