The HTML <pre> element represents preformatted text. Text within this element is typically displayed in a non-proportional ("monospace") font exactly as it is laid out in the file. Whitespace inside this element is displayed as typed.
| Content categories | Flow content, palpable content. | 
|---|---|
| Permitted content | Phrasing content. | 
| Tag omission | None, both the starting and ending tag are mandatory. | 
| Permitted parents | Any element that accepts flow content. | 
| Permitted ARIA roles | Any | 
| DOM interface | HTMLPreElement | 
Attributes
This element only includes the global attributes.
- cols
- Contains the preferred count of characters that a line should have. It was a non-standard synonym of width. To achieve such an effect, use CSSwidthinstead.
- width
- Contains the preferred count of characters that a line should have. Though technically still implemented, this attribute has no visual effect; to achieve such an effect, use CSS widthinstead.
- wrap
- Is a hint indicating how the overflow must happen. In modern browser this hint is ignored and no visual effect results in its present; to achieve such an effect, use CSS white-spaceinstead.
Examples
<!-- Some example CSS code -->
<pre>
body {
  color:red;
}
</pre> 
Result
body {
  color:red;
}
Specifications
| Specification | Status | Comment | 
|---|---|---|
| WHATWG HTML Living Standard The definition of '<pre>' in that specification. | Living Standard | No significant change from WHATWG HTML Living Standard | 
| HTML5 The definition of '<pre>' in that specification. | Recommendation | No significant change from HTML 4.01 Specification | 
| HTML 4.01 Specification The definition of '<dl>' in that specification. | Recommendation | Deprecated the colsattribute | 
Browser compatibility
| Feature | Chrome | Edge | Firefox (Gecko) | Internet Explorer | Opera | Safari (WebKit) | 
|---|---|---|---|---|---|---|
| Basic support | 1.0 | (Yes) | 1.0 (1.7 or earlier) | (Yes) | (Yes) | (Yes) | 
| width | (Yes)[1] | (Yes)[1] | 1.0 (1.7 or earlier) 29.0 (29.0)[1] | (Yes)[1] | (Yes)[1] | (Yes)[1] | 
| cols | No support | No support | 1.0 (1.7 or earlier) No support 29.0 (29.0) | No support | No support | No support | 
| wrap | ? | No support | 1.0 (1.7 or earlier) | ? | ? | ? | 
| Feature | Android | Edge | Firefox Mobile (Gecko) | IE Phone | Opera Mobile | Safari Mobile | 
|---|---|---|---|---|---|---|
| Basic support | (Yes) | (Yes) | 1.0 (1.0) | (Yes) | (Yes) | (Yes) | 
| width | ? | (Yes)[1] | 1.0 (1.0)29.0 (29.0)[1] | ? | ? | ? | 
| cols | No support | No support | 1.0 (1.0) | No support | No support | No support | 
| wrap | ? | No support | 1.0 (1.0) | ? | ? | ? | 
[1] Specifying the width attribute has no layout effect.
See also
- CSS: white-space,word-break