In the early days of the web, the <multicol> tag split content into newspaper-style columns. This guide explains its history, why it was deprecated, and how to build columns with CSS today.
01
Historical Syntax
How <multicol cols="3"> wrapped flowing text.
02
Deprecated Status
Why modern browsers dropped multicol support.
03
cols Attribute
Set the number of columns with cols.
04
Common Use Cases
Newspaper layouts and readable long-form text.
05
CSS column-count
The modern replacement for flowing columns.
06
Responsive Layout
Adapt column count with media queries.
Fundamentals
What Is the <multicol> Tag?
The <multicol> element was designed to split content into multiple columns, enhancing the visual layout of text-heavy web pages — similar to a newspaper or magazine. Content inside the tag flowed automatically from one column to the next.
⚠️
Deprecated — Use CSS Instead
The <multicol> tag is deprecated and no longer supported by modern browsers. Web standards shifted to CSS multi-column layout, which provides more flexibility, responsiveness, and control.
Learn multicol to understand legacy HTML. For all new projects, use column-count, column-gap, Flexbox, or CSS Grid.
Foundation
📝 Syntax
Wrap content between opening and closing <multicol> tags. Due to its deprecated status, avoid this in new code:
syntax.html
<multicolcols="3">
Your content here...
</multicol>
Syntax Rules
<multicol> requires both opening and closing tags.
Use the cols attribute to set the number of columns.
Text and block content inside flows across columns automatically.
Modern browsers render content as a single column (no multicol behavior).
Cheat Sheet
⚡ Quick Reference
Topic
Code Snippet
Notes
Legacy multicol
<multicol cols="3">
Deprecated
Two columns
cols="2"
Split into 2 columns
CSS replacement
column-count: 3
Modern approach
Column gap
column-gap: 1.5rem
Space between columns
Column rule
column-rule: 1px solid #ccc
Divider line
Browser support
None (modern)
CSS columns: full
Comparison
⚖️ <multicol> vs CSS Columns
Feature
<multicol>
CSS column-count
Status
Deprecated
Valid in all modern browsers
Column count
cols attribute
column-count property
Gap control
gutter attribute (legacy)
column-gap
Responsive
Not supported
Media queries
Best practice
Avoid entirely
Use for flowing text columns
Reference
🧰 Attributes
The <multicol> tag supported a few attributes to define column layout:
colsColumns
Specifies the number of columns for the content.
cols="2"
gutterSpacing
Sets the gap between columns in pixels (legacy Netscape attribute).
gutter="20"
widthSize
Fixed width of each column in pixels.
width="200"
cols-attribute.html
<multicolcols="2">
This content will be split into two columns.
</multicol>
Hands-On
Examples Gallery
Legacy multicol markup and the modern CSS column-count replacement. Demos use CSS because native multicol does not work in modern browsers.
👀 Live Preview
Three-column layout using CSS column-count (the modern approach):
Column 1: Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt.
Column 2: Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip.
Column 3: Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat.
Additional paragraphs flow automatically into the next available column space.
📚 Common Use Cases
Before its deprecation, the <multicol> tag was used to create newspaper-style layouts and organize lengthy text into readable sections that flowed across multiple columns.
Legacy Two-Column multicol
Historical syntax with cols="2" to split content into two columns.
⚠️ Deprecated tag — multicol is not supported in modern browsers.
legacy-multicol.html
<multicolcols="2">
This content will be split into two columns.
</multicol>
This content will be split into two columns. In modern browsers, CSS column-count demonstrates the intended layout since native multicol is unsupported.
CSS column-count Alternative
The recommended modern approach: use CSS column-count on a container div.
Column 1 content flows here with readable line length.
Column 2 content continues in the next column automatically.
Column 3 content fills the third column space.
Additional content wraps into columns as needed.
Migration
🔄 Alternatives
Modern web development favors CSS for multi-column layouts. The CSS column-count property offers a flexible and powerful alternative to the deprecated <multicol> tag:
column-count — Set the number of flowing text columns.
column-width — Let the browser calculate columns by minimum width.
CSS Grid / Flexbox — For structural column layouts with distinct content per column.
A11y
♿ Accessibility
Multi-column text must remain readable for all users:
Reading order — CSS columns flow top-to-bottom then left-to-right; ensure logical content order in the HTML source.
Responsive breakpoints — Collapse to a single column on small screens to avoid cramped text.
Line length — Very narrow columns hurt readability; aim for comfortable line lengths.
Do not use multicol — Deprecated markup provides no layout benefit and confuses maintainers.
🧠 How <multicol> Worked
1
Author wrapped content in multicol
Set cols to define how many vertical columns the text should fill.
Markup
2
Browser flowed text across columns
Supporting browsers (early Netscape) split content like a newspaper layout.
Rendering
3
Standards replaced it with CSS
CSS Multi-column Layout Module gave developers full control without proprietary tags.
Evolution
=
📐
Today: use CSS columns
Learn multicol for history. Build columns with column-count and media queries.
Compatibility
Browser Support
Due to its deprecated status, support for the <multicol> tag is not available in modern browsers. CSS column-count has full support everywhere.
⚠ Deprecated · Not Supported
multicol tag: zero modern support
Chrome, Firefox, Safari, Edge, and Opera ignore multicol layout. Use CSS columns instead — supported in all modern browsers.
0%multicol support
Google ChromeNot supported
Not supported
Mozilla FirefoxNot supported
Not supported
Apple SafariNot supported
Not supported
Microsoft EdgeNot supported
Not supported
Internet ExplorerLegacy partial · EOL
Legacy only
OperaNot supported
Not supported
CSS column-count support
The modern replacement works in every browser multicol never reached.
✓
column-countFull support in Chrome, Firefox, Safari, Edge, Opera
Replacement
📱
ResponsiveCollapse columns with @media queries
Modern
<multicol> tag0% modern support
Bottom line: Do not use <multicol>. Use CSS column-count for flowing multi-column text in all new projects.
Wrap Up
Conclusion
While the <multicol> tag played a role in the early web development era, it has since been deprecated in favor of more versatile and powerful CSS properties.
Modern developers should leverage CSS to create multi-column layouts, ensuring compatibility and flexibility across all browsers and devices.