Repeat Header Rows on Every Printed Excel Page
By Mark Fulton · 2026-09-01 · 13 min read

Go to the Page Layout tab, find the Page Setup group, and click Print Titles. On the Sheet tab of the dialog that opens, put $1:$1 in the Rows to repeat at top box and click OK. Your first row now prints at the top of every page. If you need two header rows, use $1:$2. If the box is greyed out and you cannot type in it, you almost certainly opened Page Setup from inside File then Print, and those boxes are always dead there. Press Escape, go to the Page Layout tab on the ribbon instead, and they will be live. This is a worksheet setting, it saves with the file, and it has nothing to do with Freeze Panes.
That last sentence is the part that trips people up, and it is worth thirty seconds before you go set anything.
Two completely separate Excel features answer the sentence "keep my headers visible". One of them works on screen and does nothing to your printout. The other works on paper and does nothing while you scroll. They live on different ribbon tabs, they are stored as different properties of the worksheet, and setting one does not set the other. Roughly half the people who search for this want the screen behaviour and describe it as printing. The other half want the print behaviour and get sent to Freeze Panes by a colleague who guessed.
So work out which one you actually want first.
Do you want frozen panes or print titles?
Ask one question: where is the header disappearing?
If it vanishes when you scroll down and you are looking at a screen, you want Freeze Panes. That is the View tab. If it is missing from page two of something you printed or exported, you want Print Titles. That is the Page Layout tab. If both are happening, set both, because neither one covers the other.
There is a third thing in the mix that confuses the picture further. If you have converted your range into a real Excel Table with Ctrl+T, the table has its own header row, and it behaves in a way that looks like a mix of the other two. Here is what each one actually does:
| Freeze Panes | Print Titles | Excel Table header row | |
|---|---|---|---|
| Where you set it | View tab, Freeze Panes | Page Layout tab, Page Setup group, Print Titles | Ctrl+T, then Header Row on the Table Design tab |
| Scrolling on screen | Header stays pinned to the top of the window | Nothing | Header labels replace the A, B, C column letters while the cursor is inside the table |
| Printed page 2 and onward | Nothing | Header repeats at the top of every page | Nothing on its own |
| Exported PDF, page 2 onward | Nothing | Header repeats on every page | Nothing on its own |
| Scope | One worksheet, one split position | One worksheet, stored in page setup | The one table object |
| Saves with the file | Yes | Yes | Yes |
| Common failure | Split lands in the wrong place because the wrong cell was selected | Set from the wrong dialog and silently unavailable | Assumed to handle printing, and it does not |
The row that surprises people is the bottom right. A well-built Excel Table gives you a genuinely nice scrolling experience, because the column letters at the top of the window swap out for your actual header text as soon as the first row scrolls off. It looks so much like a frozen pane that you stop thinking about the problem. Then you print, and page two is a field of unlabelled numbers, because the table did nothing to your page setup.
None of the three is a substitute for the others. On a long sheet that someone will read on screen and then print, you want frozen panes for the scrolling and print titles for the paper, and they take about twenty seconds together.
How do you set rows to repeat at the top?
Microsoft's current instructions are the same on Windows and on Excel for Microsoft 365 for Mac, which is a nice change from most page setup questions.
- Click any cell on the worksheet you want to print. Just one sheet, not several tabs at once. That matters, and there is a section on it below.
- Go to the Page Layout tab.
- In the Page Setup group, click Print Titles. The Page Setup dialog opens on its Sheet tab.
- In the Rows to repeat at top box, type the row reference.
$1:$1repeats row 1.$1:$2repeats rows 1 and 2.$3:$3repeats row 3 on its own, which is what you want when rows 1 and 2 hold a title and a blank spacer. - Click OK.
Microsoft's own walkthrough of repeating specific rows or columns on every printed page uses exactly this path and gives $1:$1 as the example reference for column labels at the top of each page. Its companion article on printing rows with column headers on top of every page carries separate tabs for Windows, the web, and Microsoft 365 for Mac, and the Mac steps are identical: Page Layout tab, Page Setup group, Print Titles, Sheet tab, Rows to repeat at top.
If typing dollar signs feels wrong, do not type them. At the right edge of both boxes there is a small collapse button. Click it, the dialog shrinks to a strip, and you can drag across the row numbers in the sheet behind it. Excel writes the absolute reference for you. Click the button again to bring the dialog back.
Then check it, because this is the step everyone skips. Press Ctrl+P and page forward to page two in the preview. The header should be sitting at the top. If it is not, the setting did not take, and the next section is almost certainly why.
One thing this does not do: it does not add a header row to a sheet that never had one. Print Titles repeats a row that already exists in your data. If your sheet starts straight into numbers with no labels, you have a structure problem, not a print problem.
Excel for the web is the exception. Microsoft states plainly on that same page that you cannot currently repeat column headers when printing from the web app, and points you at Editing then Open in Desktop App. If the browser version is all you have, the honest answer is that this feature is not there yet.
Why is Print Titles greyed out?
Because Excel disables it in more situations than it tells you about, and only one of them is obvious.
Microsoft documents three reasons the Print Titles command itself appears dimmed on the ribbon: you are in cell editing mode, a chart is selected on the same worksheet, or there is no printer installed on the machine. The first two are quick fixes. Press Escape to leave edit mode, or click a plain cell to deselect the chart. The third catches people on a fresh laptop or a work machine that only ever prints to PDF, and installing any driver, including Microsoft Print to PDF, brings the command back.
Then there are two more that dim the boxes rather than the button, and these account for most of the frustration.
You opened Page Setup from the Print screen. Go to File, then Print, and there is a Page Setup link under the settings on the left. It opens the same dialog with the same Sheet tab, and the Rows to repeat at top and Columns to repeat at left boxes are permanently unavailable there. Not because something is broken. That dialog runs in a context where Excel will not accept a new print titles reference. The fix is to close it and reach the dialog from the ribbon instead: Page Layout tab, Page Setup group, Print Titles.
You have more than one worksheet selected. Microsoft is explicit about this one. When several sheet tabs are grouped, the two repeat boxes are not available in the Page Setup dialog at all. This is easy to do by accident, because grouping sheets is a genuinely useful trick for applying the same margins and orientation to a whole workbook at once, and it is easy to forget you did it. Look at the title bar. If it says Group, you are grouped. Click any unselected tab to break it, or right click a selected tab and choose Ungroup Sheets, then set your print titles one sheet at a time.
Worth knowing the same rule in reverse: page setup is per worksheet, so print titles have to be set on each sheet that needs them. There is no workbook-wide switch.
How do you repeat a label column on the left?
The same dialog, the box underneath.
Wide sheets have the same problem sideways. Print a 20 column table on portrait paper and columns L through T land on their own sheet with nothing to identify the rows. The reader gets a page of numbers with no names attached, which is worse than useless because it looks authoritative.
Columns to repeat at left takes a column reference in the same absolute form: $A:$A for the first column, $A:$B for the first two. Now every page that carries part of your table also carries the names, dates or SKUs that identify the rows.
Most guides mention this box and move on, which is a shame, because it is the fix for the single most common complaint about wide printouts. Set both boxes together and the top left corner of every page tells the reader what they are looking at in both directions.
Before you rely on it, though, ask whether the sheet should be splitting sideways at all. A vertical split forces the reader to lay two sheets of paper side by side and track across the seam, and repeating the label column makes that survivable rather than good. Constraining the width to one page first, and only then repeating headers, is usually the better order of operations. That is the whole argument in how to print an Excel sheet on one page, including where to stop scaling before the type gets too small to read.
Do Excel Tables repeat headers automatically?
On screen, effectively yes. On paper, no.
When you press Ctrl+T and turn a range into a real Excel Table, you get a header row that Excel treats as structural rather than decorative. Scroll down with the cursor inside the table and the column letters along the top of the window are replaced by your header text. It is one of the better small features in Excel and it makes long tables genuinely pleasant to scroll.
It is also a display behaviour, and it stops at the edge of the window. It writes nothing into the worksheet's page setup, so the printed output and any PDF you export ignore it completely. Word tables have a Repeat Header Rows setting that follows the table across pages. Excel Tables do not have an equivalent, which is a fair source of confusion for anyone who moves between the two.
You can check this in ten seconds on your own file. Open Print Preview on a table that runs past one page and look at page two. If the header is not there, Print Titles is the missing piece, and setting it does not interfere with the table in any way. The two features coexist happily.
The same applies to conditional formatting, banded rows and the rest of the table styling. Those all print, because they are cell formatting. The header pinning does not, because it is not.
What's the equivalent in Google Sheets?
Sheets ties the two ideas together instead of separating them, which is either simpler or more surprising depending on which product you learned first.
In Google Sheets, printing repeated headers is a consequence of freezing rows. There is no separate print titles setting. Freeze the row first, then tell the print dialog to repeat what is frozen:
- Select the row you want to keep, then click View, then Freeze, and choose how many rows to freeze. The same menu handles columns, and "No rows" is how you undo it.
- Click File, then Print.
- In the print settings panel on the right, open Headers & footers.
- Tick Repeat frozen rows. There is a Repeat frozen columns option in the same place for the sideways case.
Google's own guide to printing from Google Sheets lists both options under Headers & footers alongside the Current sheet, Workbook and Selected cells choices.
The practical consequence when you move a file between the two: an .xlsx with print titles set does not automatically become a Sheets file with frozen rows, and a Sheets file with frozen rows does not arrive in Excel with print titles set. Check page two after any round trip. More of the differences between the two products' formatting models are collected in Google Sheets formatting tips.
FAQ
Why is the Print Titles button greyed out?
Microsoft lists three reasons the ribbon command itself is dimmed: you are in cell editing mode, a chart is selected on the same worksheet, or no printer is installed. Press Escape, click an empty cell, or install any print driver including Microsoft Print to PDF. If the button works but the boxes inside the dialog are dead, the cause is different: either you opened Page Setup from File then Print, where those boxes are never available, or you have several sheet tabs grouped. Reach the dialog from the Page Layout tab and ungroup your sheets, and both come back.
Does freezing panes affect printing?
No. Freeze Panes is a view setting. It changes how the window scrolls and nothing else, so a sheet with a beautifully frozen header row can still print page after page with no labels at all. This is the single most common wrong assumption in this topic, and it is easy to believe because the on screen result looks exactly like the thing you wanted. Print Titles is the print equivalent, and you set them independently. Freeze panes and the rest of the on screen readability settings are covered in making an Excel spreadsheet look professional.
How do I repeat headers in Google Sheets when printing?
Freeze the row first with View, then Freeze, then the number of rows. Then go to File, Print, open Headers & footers in the settings panel and tick Repeat frozen rows. Unlike Excel, the freeze and the print repeat are two halves of one setting in Sheets, so freezing alone will not do it and neither will the checkbox on its own.
Can I repeat two rows instead of one?
Yes. The Rows to repeat at top box takes a range, not a single row, so $1:$2 repeats the first two rows and $1:$3 repeats the first three. Use the same form for a header block that sits lower down: $4:$5 repeats rows 4 and 5 and leaves rows 1 to 3 printing once, on page one only. Bear in mind that every repeated row is vertical space taken from every page, so a four row header block on a twelve page report costs you the equivalent of most of a page.
Set it once and it stays set
Print titles is a five second job that people re-do by hand for years, usually by pasting the header row above each page break and then redoing it when the data changes length. Page Layout tab, Print Titles, $1:$1, OK, then check page two of the preview. It saves with the workbook, so anyone who opens the file gets the same printout.
If the underlying sheet needs work before it is worth printing, that is what SuperSheet's Excel formatter does. Drop an .xlsx or .csv on it, approve or reject each proposed change, and download a formatted file with real number formats, sized columns, a totals row and a frozen header row already set, plus fit to one page wide in the page setup. Print titles is still yours to add in the dialog, because that is a decision about paper rather than about the data, and it takes one click once the file is clean. Nothing is uploaded; the file is processed in your browser. SuperSheet also deliberately leaves merged cells and multi-table tabs alone rather than guessing at your structure, so a sheet that fights the page setup is still a sheet you fix by hand first. The free tier is complete and adds a small credit line to exports. Pro removes it, adds all five themes and raises the AI chat limits, at $6 a month billed $36 every six months, or $99 once.
Try one on your longest sheet, then open Print Preview and page forward. If the same problem shows up on export rather than on paper, the page setup causes are in Excel to PDF without losing formatting.