W3cubDocs

/Web APIs

CanvasRenderingContext2D: wordSpacing property

Baseline 2025
Newly available

Since ⁨March 2025⁩, this feature works across the latest devices and browser versions. This feature might not work in older devices or browsers.

The CanvasRenderingContext2D.wordSpacing property of the Canvas API specifies the spacing between words when drawing text.

This corresponds to the CSS word-spacing property.

Value

The word spacing as a string in the CSS <length> data format. The default is 0px.

The property can be used to get or set the spacing. The property value will remain unchanged if set to an invalid/unparsable value.

Examples

In this example we display the text "Hello World" three times, using the wordSpacing property to modify the spacing in each case. The spacing is also displayed for each case, using the value of the property.

HTML

<canvas id="canvas" width="700"></canvas>

JavaScript

const canvas = document.getElementById("canvas");
const ctx = canvas.getContext("2d");

ctx.font = "30px serif";

// Default word spacing
ctx.fillText(`Hello world (default: ${ctx.wordSpacing})`, 10, 40);

// Custom word spacing: 10px
ctx.wordSpacing = "10px";
ctx.fillText(`Hello world (${ctx.wordSpacing})`, 10, 90);

// Custom word spacing: 30px
ctx.wordSpacing = "30px";
ctx.fillText(`Hello world (${ctx.wordSpacing})`, 10, 140);

Result

Specifications

Browser compatibility

Desktop Mobile
Chrome Edge Firefox Opera Safari Chrome Android Firefox for Android Opera Android Safari on IOS Samsung Internet WebView Android WebView on iOS
wordSpacing 99 99 115 85 18.4 99 115 68 18.4 18.0 99 18.4

See also

© 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/wordSpacing