Purplelink
← All LaTeX errors

Extra alignment tab has been changed to \cr

A table or matrix row has more & separators than the column specification allows.

What it means

A row in a table or matrix contains more & separators than there are columns to separate. With \begin{tabular}{ll} there are two columns, so each row may contain one &. At the extra &, TeX acts as if the row had ended there (\cr is TeX's internal end-of-row command), and whatever follows on that row lands in the wrong place.

The log line

This small file triggers the error:

\documentclass{article}
\begin{document}
\begin{tabular}{ll}
Model & Accuracy & F1 \\
Baseline & 0.81 & 0.77 \\
\end{tabular}
\end{document}

Compiled with pdfLaTeX (TeX Live 2026), it writes this to the .log file:

! Extra alignment tab has been changed to \cr.
<recently read> \endtemplate

l.4 Model & Accuracy &
                       F1 \\
You have given more \span or & marks than there were
in the preamble to the \halign or \valign now in progress.
So I'll assume that you meant to type \cr instead.

The l.4 line breaks just after the & that was one too many: Model & Accuracy &. The table was declared with {ll}, two columns, and this row has three cells.

To try a fix without touching your project, save the example as a .tex file and compile it online with the LaTeX to PDF tool.

Why it happens

The causes below are in order of likelihood. Each has a before and an after you can compare with your own source.

1. More cells in the row than columns in the specification

A column was added to the data but not to the \begin{tabular}{...} argument. Add a letter for it.

Before

\begin{tabular}{ll}
Model & Accuracy & F1 \\

After

\begin{tabular}{lll}
Model & Accuracy & F1 \\

2. An unescaped & inside a cell

An ampersand that belongs to the text, as in R&D, is read as a column separator. Write \&.

Before

R&D spending & 4.2 \\

After

R\&D spending & 4.2 \\

3. A missing \\ at the end of the previous row

Without the row end, two rows are read as one long row with too many cells. The l. line points at the second row, and the mistake is on the row above.

Before

Baseline & 0.81
Ours & 0.87 \\

After

Baseline & 0.81 \\
Ours & 0.87 \\

4. A \multicolumn that spans more columns than exist

The first argument of \multicolumn counts columns. A heading that spans three columns in a two-column table overflows the row.

Before

\begin{tabular}{lr}
\multicolumn{3}{c}{Results} \\

After

\begin{tabular}{lr}
\multicolumn{2}{c}{Results} \\

5. An amsmath matrix with more than ten columns

pmatrix, bmatrix and the other amsmath matrix environments allow ten columns by default. Raise the limit before the matrix.

Before

\begin{pmatrix}
1 & 2 & 3 & 4 & 5 & 6 & 7 & 8 & 9 & 10 & 11

After

\setcounter{MaxMatrixCols}{12}
\begin{pmatrix}

How to find the line

The l. line is exact for this error: it is the row with the extra &, and the break shows which one. If the row looks right, check the row above for a missing \\, then count the columns in \begin{tabular}{...}, where |, @{} and p{3cm} entries are easy to miscount.

When you run pdflatex in a terminal without -interaction=nonstopmode, TeX stops at the error and prints a ? prompt. Press Return to carry on past the error, type x to quit, or type h for TeX's own help text, which is the paragraph you see after the l. line in the log. Editors run TeX in non-stop mode, so you get the log and never see the prompt.

What each editor shows:

Related errors

Frequently asked questions

How many & characters should a table row have?
One fewer than the number of columns. A {lcr} table has three columns, so each row has two & characters and ends with \\. Vertical bars and @{} entries in the column specification do not count as columns.
Why does a matrix with more than ten columns give this error?
The amsmath matrix environments allow ten columns by default. Raise the limit with \setcounter{MaxMatrixCols}{20}, placed before the matrix.
How do I put a literal & in a table cell?
Type \&. A bare & always separates cells.