Skip to main content
v2026.11,986 entries · CC-BY 4.0

Multirow in LaTeX: Syntax, Examples and Common Errors

How to use multirow in LaTeX: full argument syntax, negative row counts, width options, combining with multicolumn and fixes for common errors.

Written and maintained by CASRAI Editorial Board

Published · Last updated

On this page

Short answer: multirow is a command from the CTAN package multirow that makes one tabular cell span several rows. Load the package with \usepackage{multirow}, then write \multirow{2}{*}{text} in the first of the rows you want to span and leave the same column empty in the rows below. The sections below give the full argument syntax, the negative row count, the width options and the usual errors, all taken from the package documentation (version 2.9).

What multirow is used for in research

Tables in papers and theses often need a row label that covers a group of rows: a treatment name over several measurements, a variable group over several coefficients, or a merged header cell. In LaTeX, multicolumn merges cells horizontally, and the multirow package supplies the vertical counterpart. The package description on CTAN is “Creates tabular cells that span multiple rows”. It is maintained by Pieter van Oostrum, released under the LaTeX Project Public License 1.3, and version 2.9 is dated 2024-11-12 (CTAN package page, read 2026-11-08).

If the spanned text sits too high or too low, see the companion guide on centering cell content vertically in LaTeX tables.

Install or access

The package is distributed on CTAN at ctan.org/pkg/multirow, with the manual at multirow.pdf and the issue tracker at github.com/pietvo/multirow. It is free software. Load it in the preamble:

\usepackage{multirow}

The distribution contains three style files: multirow.sty, bigstruts.sty and bigdelim.sty. For a browser-based workflow, see web LaTeX editors for research.

Step-by-step: span rows in a table

The full syntax

\multirow[vpos]{nrows}[bigstruts]{width}[vmove]{text}

Only nrows, width and text are required. The optional arguments, as defined in the package README (v2.9):

  • vpos: t, c or b. Without it, “the text is centered vertically within the range spanned by nrows”.
  • nrows: the number of rows to span.
  • bigstruts: only for use with bigstrut.sty.
  • width: *, an explicit width, or = (see below).
  • vmove: a length by which the text is raised (lowered if negative).

A basic example

  1. Load multirow in the preamble.
  2. In the first row of the span, put \multirow{2}{*}{Group A} in the cell.
  3. In the following row(s), leave that column empty by starting the row with &.
\begin{tabular}{|l|l|l|}
\hline
\multirow{2}{*}{Group A} & Mean & 4.2 \\
 & SD & 0.8 \\
\hline
\multirow{2}{*}{Group B} & Mean & 5.1 \\
 & SD & 1.1 \\
\hline
\end{tabular}

The package manual states the rule plainly: it is up to you to leave the other rows empty, “or the stuff created by multirow will over-write it”. The manual’s own example uses the same pattern, with \multirow{4}{1in}{...} in the first row and following rows beginning with an empty first cell.

Negative row counts

A positive nrows means this row and the nrows minus 1 rows below it. A negative value means this row and the (-nrows minus 1) rows above it. That lets you place the command in the last row of the span, as in the manual’s \multirow{-3}*{bbbb} example.

Width argument: *, a fixed width, or =

Width Behaviour (package README v2.9)
* Natural width; the text is set in LR mode. For several lines inside the cell, put a tabular or array inside the argument.
A length such as 1in The text is set in a parbox of that width, and \\ line breaks are allowed.
= Takes the column width. Works only with p{}-type columns and similar, tabularx X columns and tabulary L, C, R, J columns.

Changing text alignment with \multirowsetup

The command \multirowsetup is expanded just before the text and is initially just \raggedright. Redefine it to change the alignment of fixed-width cells, for example \renewcommand{\multirowsetup}{\centering}. (For general macro redefinition syntax, see newcommand in LaTeX.)

Spanning rows and columns together

If one entry must span both rows and columns, the manual says “you must put the multirow inside the multicolumn. The other way around will not work.” Its example is:

\multicolumn{2}{c}{\multirow{3}{*}{Multi-multi}}

Output and how to read it

In the compiled table, the spanned text appears once, centered vertically across the rows it covers (unless you set vpos or vmove), and the rows beneath it show empty cells in that column. Horizontal rules are your choice: the manual’s examples use \hline and \cline{2-2} so that the rule does not cut through the spanning cell.

Troubleshooting

Symptom Cause and fix (from the package documentation)
Text overprinted or overwritten in a cell below the span The cells in the spanned rows were not empty. Leave them empty.
Text does not wrap inside the cell With *, text is set in LR mode. Use an explicit width, or = in a suitable column type, or nest a tabular.
Combined row and column span fails The command order is wrong: put multirow inside multicolumn.
Text is left-aligned in a fixed-width cell The default \multirowsetup is \raggedright; redefine it.
Text sits too high or low Set vpos or vmove; see the vertical-centering guide.

If the cause is not listed, the package issue tracker linked above is the maintainer’s channel for bug reports.

Free alternatives

multirow is itself free software under the LPPL 1.3, so no paid alternative is needed. The same CTAN distribution also ships bigstruts.sty and bigdelim.sty alongside multirow.sty.

FAQ

What does \multirow{2}{*}{text} mean?

Span two rows, with the text at its natural width (*), vertically centered across those two rows by default.

How do I use multirow in LaTeX?

Add \usepackage{multirow}, put \multirow{n}{*}{text} in the first row of the span, and leave the same column empty in the next n-1 rows.

Can I use multirow and multicolumn in one cell?

Yes. Nest multirow inside multicolumn, never the reverse.

How do I put the text in the bottom row of the span?

Give multirow a negative row count and place the command in the last row of the span.

Sources

Follow CASRAI

Research-administration guidance, standards updates and independent tool reviews.

Ask CASRAI · free to try

Ask about Multirow in LaTeX: Syntax, Examples and Common Errors

Ask your first 2 questions free below. Subscribers get 150 a day for $29 a month.

An AI assistant specialized in research administration. It cites the sources behind every answer, labels web answers and says when it can't answer.

Answers draw on CASRAI's guides and dictionary plus the federal and funder documents we index: Federal Register, Grants.gov, Regulations.gov and UKRI.

Works on this site and inside Claude, Cursor and the AI tools you already use.

Everything CASRAI publishes — this page, the dictionary, the guides and the news — stays free to read, with no account and no card.

Referenced across the research world

University of Cambridge logoColumbia University logoCrossref logoUniversity of Edinburgh logoHarvard University logoUniversity of Oxford logoPrinceton University logoStanford School of Medicine logoUniversity College London logoORCID logoUniversity of Cambridge logoColumbia University logoCrossref logoUniversity of Edinburgh logoHarvard University logoUniversity of Oxford logoPrinceton University logoStanford School of Medicine logoUniversity College London logoORCID logo
  • University of Cambridge logo
  • Columbia University logo
  • Crossref logo
  • University of Edinburgh logo
  • Harvard University logo
  • University of Oxford logo
  • Princeton University logo
  • Stanford School of Medicine logo
  • University College London logo
  • ORCID logo

View CASRAI adoption →