How to Freeze Rows in Google Sheets: A Quick Guide

How-to basics · Updated November 3, 2026

How to Freeze Rows in Google Sheets: A Quick Guide

To freeze rows in Google Sheets in a web browser, open View > Freeze and choose 1 row or 2 rows. To keep a different number of top rows visible, select a cell in the last row you want to freeze, then choose View > Freeze > Up to current row (the menu may show the row number).

What freezing rows does

Freezing keeps selected rows visible while you scroll down through the rest of a sheet. It is especially useful for a header row containing labels such as Date, Customer, and Amount: the labels remain on screen so you can tell what each column of data means further down the table.

Frozen rows stay at the top of the sheet; they do not move with the rows you scroll through. The other rows still scroll normally, and freezing does not change the data, formulas, sorting, or print layout. It also does not lock cells or stop someone from editing them. If you need to restrict edits, use Google Sheets’ separate sheet and range protection features.

Freezing applies to the current sheet tab, not every tab in the spreadsheet. A workbook with several tabs may need its rows frozen separately on each one. Think of freezing as a viewing aid for navigating a large grid, not as a way to organize or secure the underlying information.

Freeze the first row or first two rows

For the common case of a single header row, use the built-in preset. In the browser version of Google Sheets:

  1. Open the spreadsheet and click the sheet tab where you want the change.
  2. Choose View in the menu bar.
  3. Point to Freeze.
  4. Choose 1 row to keep the top row visible, or 2 rows to keep the top two rows visible.

Scroll down to confirm that the selected rows remain at the top while the rest of the sheet moves. The command does not require selecting a row first when you use one of these presets. If the menu already shows a different frozen-row setting, choosing a preset replaces it.

For example, a simple inventory sheet might have column names in row 1, so freezing one row is enough. A report might use row 1 for a title and row 2 for column labels; freezing two rows keeps both visible. Avoid freezing extra rows without a reason, since they take up screen space that could otherwise show data.

Freeze a custom number of rows

If the useful heading ends below row 2, freeze through that row. Click a cell in the last row you want to keep visible, then open View > Freeze and select Up to current row or the corresponding row-number option. For instance, to keep rows 1 through 4 on screen, click a cell in row 4 and choose the option to freeze up to that row.

The important detail is that this setting freezes a continuous block starting at row 1. It cannot keep row 1 and row 4 visible while allowing rows 2 and 3 to scroll away. If you freeze through row 4, all four top rows remain fixed. Before choosing a larger range, check that those rows contain information you need while navigating.

If the menu’s wording is unclear, check which row is selected and read the option that includes the current row number. You can also use the drag handle described below to adjust the boundary visually. After setting a custom freeze, scroll down to make sure the dividing line is below the intended last row.

Adjust or remove frozen rows

To change the number of frozen rows, choose a different preset under View > Freeze, or select the row for a custom boundary and choose the option to freeze up to it. A new choice replaces the previous row boundary; you do not need to unfreeze first.

To remove the setting, choose View > Freeze > No rows. The rows will then scroll with the rest of the sheet. This does not delete or move anything. If you have frozen columns as well, removing frozen rows should not be confused with changing the column setting; check the Freeze menu’s column options separately.

In many browser layouts, a thick gray boundary marks the edge of the frozen area. You can drag the horizontal boundary to change how many rows are frozen. Dragging is handy for a quick adjustment, but the menu is more explicit when you want a specific row number. If you do not see or cannot grab the boundary, use the menu instead.

Freeze rows and columns together

You can freeze rows and columns in the same sheet. Frozen columns stay visible as you scroll horizontally, while frozen rows stay visible as you scroll vertically. For example, a project tracker may keep its header row and the first column of task names in view, making it easier to follow a task across many date or status columns.

Use View > Freeze to choose a row option, then use the column options in that same menu to freeze one or more columns. As with rows, a custom column setting freezes a continuous block starting at the left edge. Check both boundaries after setting them, because freezing too many rows or columns can leave little room for the scrollable data, especially on a smaller screen.

Use the Google Sheets mobile app

The browser instructions above are for Google Sheets on a computer. In the Android or iOS app, the menu layout differs: open the spreadsheet, tap and hold the row number to select the row, then use the row’s context menu and choose Freeze if that option is available in your app version. To undo it, select the frozen row and choose Unfreeze from the same menu.

Mobile controls can vary with screen size and app updates, so if the row menu does not show the option, open the file in a desktop browser and use View > Freeze. A frozen header is particularly helpful on a phone, but it also consumes part of the limited screen area. Consider freezing only the row or rows needed to identify the data.

When freezing is useful—and when it is not

Freeze rows when a table is long enough that its column labels disappear as you scroll. It can also help with a schedule whose top rows explain date groups, or a tracking sheet where a short heading section provides context for the entries below. The benefit is greatest when the same labels apply throughout the data range.

Freezing is less helpful when the sheet is only a few rows long, or when several frozen rows crowd out the content on a laptop or phone. It also does not repeat headings on printed pages. If your goal is to have headings appear on each printed page, look at the print settings instead; on-screen freezing and print repetition are different tasks.

Another common misconception is that freezing a header makes it permanent or protects it from changes. It only changes what stays in view during scrolling. To prevent edits, use protection; to keep a stable copy of a sheet’s contents, make an appropriate copy or backup. Neither purpose is achieved by freezing alone.

Common problems and fixes

  • The wrong rows remain visible: Check the freeze boundary or the row number named in the menu. Choose the correct preset or set the custom boundary again.
  • The heading disappears when scrolling: Confirm that you froze the correct sheet tab and that the row containing the heading is within the frozen block.
  • Too much of the screen is fixed: Choose No rows, then freeze only the top row or the smallest useful block.
  • You cannot find Freeze: In the desktop browser, look under View, not Format. On a phone, use the row-number context menu or switch to a desktop browser.
  • Only one tab behaves this way: Freeze settings are per sheet tab. Repeat the setting on each tab where you want it.

If collaborators are working in the same spreadsheet, remember that a freeze setting is part of the sheet’s layout rather than a private note or personal filter. Coordinate before changing a shared sheet if keeping a particular view is important to the group.

Google Sheets and Excel: a brief difference

Google Sheets uses the browser menu path View > Freeze. Microsoft Excel has a similarly named feature, but its commands and selection rules differ by version and platform. If you are following instructions written for Excel, do not assume that its ribbon path applies in Sheets; use the Sheets menu and the options shown there. The goal is similar in both programs—keep headings visible while scrolling—but the exact interface is not interchangeable.

Frequently Asked Questions

How do I freeze the top row in Google Sheets?
Choose View > Freeze > 1 row in the desktop browser. The first row will stay visible as you scroll down.

How do I freeze more than two rows?
Select a cell in the last row you want to keep visible, then choose View > Freeze and the option to freeze up to the current row. This freezes every row above it as well.

How do I unfreeze rows in Google Sheets?
Choose View > Freeze > No rows. Your data stays unchanged; only the scrolling behavior returns to normal.

Can I freeze a row that is not at the top?
Not by itself. A custom freeze keeps a continuous block from row 1 through the row you choose, rather than pinning an isolated row elsewhere in the sheet.

Does freezing rows stop people from editing them?
No. Freezing only keeps rows visible while scrolling. Use Google Sheets’ protection options if you need to limit editing access.

Related

Try it: the Date Difference Calculator: days, months, years and weekdays between two dates, with the DATEDIF formulas.

More in How-to basics

Sources: Function behaviour and menu paths: Microsoft Support documentation for Excel. Method & sources

Spotted an error in this guide? Let us know.