This feature is well established and works across many devices and browser versions. It’s been available across browsers since May 2022.
The CanvasRenderingContext2D.direction property of the Canvas 2D API specifies the current text direction used to draw text.
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".
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.
<canvas id="canvas"></canvas>
const canvas = document.getElementById("canvas");
const ctx = canvas.getContext("2d");
ctx.font = "48px serif";
ctx.fillText("Hi!", 150, 50);
ctx.direction = "rtl";
ctx.fillText("Hi!", 150, 130);
| Specification |
|---|
| HTML> # dom-context-2d-direction-dev> |
| Desktop | Mobile | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome Android | Firefox for Android | Opera Android | Safari on IOS | Samsung Internet | WebView Android | WebView on iOS | |
direction |
77 | 79 | 101 | 64 | 9 | 77 | 101 | 55 | 9 | 12.0 | 77 | 9 |
CanvasRenderingContext2D
© 2005–2025 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/API/CanvasRenderingContext2D/direction