We're looking for a user researcher to understand the needs of developers and designers. Is this you or someone you know? Check out the post: https://mzl.la/2IGzdXS

The HTML <pre> element represents preformatted text which is to be presented exactly as written in the HTML file. The text is typically rendered using a non-proportional ("monospace") font. Whitespace inside this element is displayed as written.

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 CSS width instead.
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 width instead.
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-space instead.

Examples

<!-- Some example CSS code -->
<pre>
body {
  color:red;
}
</pre> 

Result

body {
  color:red;
}

Accessibility concerns

It is important to provide an alternate description for any images or diagrams created using preformatted text. The alternate description should clearly and concisely describe the image or diagram's content.

People experiencing low vision conditions and browsing with the aid of assistive technology such as a screen reader may not understand what the preformatted text characters are representing when they are read out in sequence.

A combination of the <figure> and <figcaption> elements, supplemented by a combination of an id and the ARIA role and aria-labelledby attributes allow the preformatted text to be announced as an image, with the figcaption serving as the image's alternate description.

Example

<figure role="img" aria-labelledby="cow-caption">
  <pre>
  ___________________________
< I'm an expert in my field. >
  ---------------------------
         \   ^__^ 
          \  (oo)\_______
             (__)\       )\/\
                 ||----w |
                 ||     ||
  </pre>
  <figcaption id="cow-caption">
    A cow saying, "I'm an expert in my field." The cow is illustrated using preformatted text characters. 
  </figcaption>
</figure>

Specifications

Specification Status Comment
HTML Living Standard
The definition of '<pre>' in that specification.
Living Standard No significant change from HTML5
HTML5
The definition of '<pre>' in that specification.
Recommendation No significant change from HTML 4.01 Specification
HTML 4.01 Specification
The definition of '<pre>' in that specification.
Recommendation Deprecated the cols attribute

Browser compatibility

FeatureChromeEdgeFirefoxInternet ExplorerOperaSafari
Basic support Yes Yes1 Yes Yes Yes
cols No No1 — 29 No No No
width Yes1 Yes112 Yes1 Yes1 Yes1
wrap ? No1 ? ? ?
FeatureAndroid webviewChrome for AndroidEdge mobileFirefox for AndroidOpera AndroidiOS SafariSamsung Internet
Basic support Yes Yes Yes4 Yes Yes Yes
cols No No No4 — 29 No No No
width Yes1 Yes1 Yes142 Yes1 Yes1 Yes
wrap ? ? No4 ? ? ?

1. Specifying the width attribute has no layout effect.

2. Since Firefox 29, specifying the width attribute has no layout effect.

See also

Document Tags and Contributors

Last updated by: mfuji09,