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:
- ModernTex: when a build fails, the Build button shows the error count and the last good PDF stays on screen. The Build Results panel lists each error, warning and note in plain language, Compile › Next Issue steps through them, and Raw Log shows the full LaTeX log. See ModernTex.
- Overleaf: the logs panel, opened with the button next to Recompile, lists each error and warning with its file and line, and the editor marks the line in the gutter. The unprocessed log is at the bottom of that panel.
- TeXShop: the console window shows the log as it is written and stops at the error. Goto Error moves the source window to the line. TeXShop's default pdfLaTeX command includes
--file-line-error, so the same error starts with the file and line in place of the!:./main.tex:4: Extra alignment tab has been changed to \cr.
Related errors
- Misplaced alignment tab character &: an
&outside any table. - Too many }'s / Missing } inserted: when a brace group runs across cells.
- Overfull \hbox: when the table compiles but is wider than the page.