HTML <multicol> Element

The <multicol> element was a non-standard HTML element used to divide content into multiple newspaper-style columns. It was introduced by Netscape during the early browser era but never became part of the HTML standard.

Historical Syntax

Webpages designed for supporting browsers could contain markup similar to the following:

<multicol cols="2" gutter="20">
  <p>This content is displayed in multiple columns.</p>
  <p>As the text continues, it flows from one column into the next.</p>
</multicol>

The cols attribute specified the number of columns, while gutter controlled the space between them. This code is shown for historical reference only and should not be used in modern HTML.

Attributes

The <multicol> element historically used a small number of proprietary attributes to control its column layout. These attributes were never standardized as HTML attributes and are included here to help identify older source code.

Attribute Description
cols Specified the number of columns into which the content should be divided.
gutter Specified the amount of space between adjacent columns.
width Specified the width used for the multi-column area in implementations that supported the attribute.

Historical Use

The <multicol> element was introduced by Netscape as a way to create newspaper- or magazine-style columns directly in HTML. Content placed inside the element could flow from the bottom of one column to the top of the next.

At the time, HTML and CSS offered few practical options for creating this type of layout. Authors otherwise had to rely on techniques such as tables or carefully constructed page structures to simulate columns.

Because <multicol> was a proprietary Netscape feature, webpages that depended on it could produce very different results in browsers that did not support the element.

Why It Became Obsolete

The <multicol> element never became part of a standard version of HTML. It represented visual page layout directly in the markup and depended on browser-specific behavior, making it unsuitable for reliable cross-browser web development.

CSS eventually provided a standardized multi-column layout system that separates the structure of the content from its visual presentation. Authors can now control the number and width of columns, the space between columns, and other aspects of the layout without using special HTML elements.

The <multicol> element is obsolete and should not be used in modern webpages.

Modern Alternative

Use an ordinary HTML container and CSS multi-column properties when content should flow automatically between columns.

<div class="columns">
  <p>This content begins in the first column and automatically flows into the next column as more content is added.</p>
  <p>CSS controls the number of columns and the amount of space between them.</p>
</div>
.columns {
  column-count: 2;
  column-gap: 30px;
}

The column-count property specifies how many columns should be created, while column-gap controls the space between them. CSS also provides properties such as column-width and column-rule for additional control over the layout.

Play in Editor

Legacy Browser Support

The <multicol> element was primarily associated with early versions of Netscape Navigator and never received consistent support across browsers. Modern browsers do not provide the historical multi-column behavior of the element.

Because <multicol> was a proprietary browser feature rather than a standard HTML element, old pages containing it should be updated to use ordinary HTML with CSS multi-column layout.

Modern multi-column layouts do not require a special HTML element. General-purpose containers such as the <div> element can contain the content, while CSS controls how that content is divided into columns.

Specifications

The <multicol> element originated as a proprietary Netscape feature and was never standardized as part of HTML. It is obsolete and must not be used in modern HTML documents. CSS multi-column layout provides the standardized method for creating this type of presentation.