The overflow-wrap
CSS property applies to inline elements, setting whether the browser should insert line breaks within an otherwise unbreakable string to prevent text from overflowing its line box.
The source for this interactive example is stored in a GitHub repository. If you'd like to contribute to the interactive examples project, please clone https://github.com/mdn/interactive-examples and send us a pull request.
Note: In contrast to word-break
, overflow-wrap
will only create a break if an entire word cannot be placed on its own line without overflowing.
The property was originally a nonstandard and unprefixed Microsoft extension called word-wrap
, and was implemented by most browsers with the same name. It has since been renamed to overflow-wrap
, with word-wrap
being an alias.
Syntax
/* Keyword values */ overflow-wrap: normal; overflow-wrap: break-word; overflow-wrap: anywhere; /* Global values */ overflow-wrap: inherit; overflow-wrap: initial; overflow-wrap: unset;
The overflow-wrap
property is specified as a single keyword chosen from the list of values below.
Values
normal
- Lines may only break at normal word break points (such as a space between two words).
anywhere
- To prevent overflow, an otherwise unbreakable string of characters — like a long word or URL — may be broken at any point if there are no otherwise-acceptable break points in the line. No hyphenation character is inserted at the break point. Soft wrap opportunities introduced by the word break are considered when calculating min-content intrinsic sizes.
break-word
- The same as the
anywhere
value, with normally unbreakable words allowed to be broken at arbitrary points if there are no otherwise acceptable break points in the line, but soft wrap opportunities introduced by the word break are NOT considered when calculating min-content intrinsic sizes.
Formal definition
Initial value | normal
|
Applies to | non-replaced inline elements |
Inherited | yes |
Computed value | as specified |
Animation type | discrete |
Formal syntax
normal | break-word | anywhere
Examples
Comparing overflow-wrap, word-break, and hyphens
This example compares the results of overflow-wrap
, word-break
, and hyphens
when breaking up a long word.
HTML
<p>They say the fishing is excellent at
Lake <em class="normal">Chargoggagoggmanchauggagoggchaubunagungamaugg</em>,
though I've never been there myself. (<code>normal</code>)</p>
<p>They say the fishing is excellent at
Lake <em class="ow-anywhere">Chargoggagoggmanchauggagoggchaubunagungamaugg</em>,
though I've never been there myself. (<code>overflow-wrap: anywhere</code>)</p>
<p>They say the fishing is excellent at
Lake <em class="ow-break-word">Chargoggagoggmanchauggagoggchaubunagungamaugg</em>,
though I've never been there myself. (<code>overflow-wrap: break-word</code>)</p>
<p>They say the fishing is excellent at
Lake <em class="word-break">Chargoggagoggmanchauggagoggchaubunagungamaugg</em>,
though I've never been there myself. (<code>word-break</code>)</p>
<p>They say the fishing is excellent at
Lake <em class="hyphens">Chargoggagoggmanchauggagoggchaubunagungamaugg</em>,
though I've never been there myself. (<code>hyphens</code>, without <code>lang</code> attribute)</p>
<p lang="en">They say the fishing is excellent at
Lake <em class="hyphens">Chargoggagoggmanchauggagoggchaubunagungamaugg</em>,
though I've never been there myself. (<code>hyphens</code>, English rules)</p>
<p class="hyphens" lang="de">They say the fishing is excellent at
Lake <em class="hyphens">Chargoggagoggmanchauggagoggchaubunagungamaugg</em>,
though I've never been there myself. (<code>hyphens</code>, German rules)</p>
CSS
p {
width: 13em;
margin: 2px;
background: gold;
}
.ow-anywhere {
overflow-wrap: anywhere;
}
.ow-break-word {
overflow-wrap: break-word;
}
.word-break {
word-break: break-all;
}
.hyphens {
hyphens: auto;
}
Result
Specifications
Specification | Status | Comment |
---|---|---|
CSS Text Module Level 3The definition of 'overflow-wrap' in that specification. | Working Draft | Initial definition |
Initial value | normal
|
Applies to | non-replaced inline elements |
Inherited | yes |
Computed value | as specified |
Animation type | discrete |
Browser compatibility
The compatibility table on this page is generated from structured data. If you'd like to contribute to the data, please check out https://github.com/mdn/browser-compat-data and send us a pull request.
Update compatibility data on GitHub
Desktop | Mobile | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
overflow-wrap
|
Chrome Full support 23 Full support 23 Full support 1 Alternate Name' Uses the non-standard name: |
Edge Full support 18 Full support 18 Full support 12 Alternate Name' Uses the non-standard name: |
Firefox Full support 49 Full support 49 Full support 3.5 Alternate Name' Uses the non-standard name: |
IE Full support 5.5 Full support 5.5 Alternate Name' Uses the non-standard name: |
Opera Full support 12.1 Full support 12.1 Full support 10.5 Alternate Name' Uses the non-standard name: |
Safari Full support 6.1 Full support 6.1 Full support 1 Alternate Name' Uses the non-standard name: |
WebView Android Full support 4.4 Full support 4.4 Full support 1 Alternate Name' Uses the non-standard name: |
Chrome Android Full support 25 Full support 25 Full support 18 Alternate Name' Uses the non-standard name: |
Firefox Android Full support 49 Full support 49 Full support 4 Alternate Name' Uses the non-standard name: |
Opera Android Full support 12.1 Full support 12.1 Full support 11 Alternate Name' Uses the non-standard name: |
Safari iOS Full support 7 Full support 7 Full support 1 Alternate Name' Uses the non-standard name: |
Samsung Internet Android Full support 1.5 Full support 1.5 Full support 1.0 Alternate Name' Uses the non-standard name: |
anywhere
|
Chrome
Full support 80 |
Edge
Full support 80 |
Firefox
Full support 65 |
IE
No support No |
Opera
Full support 67 |
Safari
No support No |
WebView Android
Full support 80 |
Chrome Android
Full support 80 |
Firefox Android
Full support 65 |
Opera Android
No support No |
Safari iOS
No support No |
Samsung Internet Android
Full support 13.0 |
break-word
|
Chrome
Full support 1 |
Edge
Full support 12 |
Firefox
Full support 3.5 |
IE
Full support 5.5 |
Opera
Full support 10.5 |
Safari
Full support 1 |
WebView Android
Full support ≤37 |
Chrome Android
Full support 18 |
Firefox Android
Full support 4 |
Opera Android
Full support 11 |
Safari iOS
Full support 1 |
Samsung Internet Android
Full support 1.0 |
Legend
- Full support
- Full support
- No support
- No support
- Uses a non-standard name.'
- Uses a non-standard name.
See also
overflow-wrap by Mozilla Contributors is licensed under CC-BY-SA 2.5.