How to freeze a row in Google Sheets (and columns)
Learn how to freeze a row in Google Sheets so headings stay visible as you scroll down, and how to freeze a column in Google Sheets to keep identifiers visible as you scroll right. Neither setting changes cell values or editing permissions.
SheetsX team · Updated
Technical review: Codex (AI-assisted) · Sources and examples checked on August 28, 2026.
Follow the stepsQuick answer
How do you freeze the top row?
On a computer, open the spreadsheet and choose View → Freeze → 1 row. Row 1 stays visible while you scroll down. To freeze a column instead, choose View → Freeze → 1 column; column A then stays visible while you scroll right. You can apply both settings to the same sheet.
Freezing changes the scrolling layout, not editing permissions. Frozen cells are still editable. Google Sheets freezes a continuous block from the top or left edge; selecting a middle row does not pin only that row.
Real Google Sheets demonstrations
Watch the SheetsX workflow
Recorded in Google Sheets with fictional data and a new English Agent conversation for each keyword. Processing waits are shortened; the actions and results are real.
How to Freeze a Row in Google Sheets | SheetsX
Row 1 remains above row 51 after scrolling. The Agent verifies 1 frozen row and 0 frozen columns; the order data and Total formulas remain in place.
Exact English prompt used in this demo
Freeze row 1 on Sheet1 and keep zero frozen columns. Preserve all values, formulas, formatting, protections, sharing settings, and other worksheets. Verify the saved frozen row and column counts. Reply briefly in English.
How to Freeze a Column in Google Sheets | SheetsX
Column A stays visible next to August–December and the calculated Annual total and Status columns. The Agent verifies 1 frozen column and 0 frozen rows without changing the data or other worksheets.
Exact English prompt used in this demo
Freeze column A on Sheet1 and keep zero frozen rows. Preserve all values, formulas, formatting, protections, sharing settings, and other worksheets. Verify the saved frozen row and column counts. Reply briefly in English.
Step by step
Freeze a header row in Google Sheets
These steps use the desktop web version. In the example, row 1 contains column headings and the data starts in row 2.
- 1
Open the right sheet tab
Choose the worksheet that needs a visible header. Confirm which row contains the column labels before choosing a freeze boundary.
- 2
Open the Freeze menu
At the top of the spreadsheet, open View, then Freeze. Use 1 row for a single header at row 1.
- 3
Choose the correct row count
Select 1 row to keep row 1 in place, or 2 rows for a two-row header. For a larger block, select a cell in the last row to pin and choose Up to row followed by that row number.
- 4
Scroll to check the result
Scroll down several screens. The header should stay above the frozen boundary while the rows below it move. Check that enough of the data area remains visible.
- 5
Adjust or unfreeze
Return to View → Freeze to choose a different row count. Select No rows to remove the row freeze; column freezing is controlled separately.
Recorded example: keep 60 orders under one header
The demo uses Sheet1!A1:E61: Order ID, Region, Quantity, Unit price, and Total. Rows 2–61 contain fictional orders; each Total cell multiplies Quantity by Unit price. The Agent changes only the frozen-pane boundary.
| Check | Before | After |
|---|---|---|
| Frozen rows | 0 | 1 — row 1 |
| Frozen columns | 0 | 0 |
| Vertical scroll | Header moves with the rows | Row 1 stays visible above row 51 |
| Data and Total formulas | 60 fictional order rows | Preserved; freezing is a layout setting |
How to freeze a column in Google Sheets
If column A contains a customer name, product code, or record ID, pin it before scrolling across a wide table. The frozen area always starts at column A.
Keep the first column visible
Choose View → Freeze → 1 column. Scroll horizontally and confirm that column A stays in place.
Freeze more than one column
Choose 2 columns for A:B. To pin A:C, select a cell in column C and choose View → Freeze → Up to column C.
Keep rows and columns together
Set the column freeze after setting the row freeze. For a one-row header and an ID in column A, use 1 row and 1 column.
Recorded example: keep product IDs beside later months
The separate column demo uses six fictional products in Sheet1!A1:P7. Column A holds SKU-101 through SKU-106, B:M holds January–December values, N calculates the annual total, O holds a target of 1,800, and P uses an IF formula for the status.
| Check | Result |
|---|---|
| Frozen-pane counts | 1 frozen column and 0 frozen rows |
| Horizontal scroll | Column A stays beside August–December, Annual total, Target, and Status |
| Annual totals | 1,530; 1,770; 2,010; 2,250; 2,490; 2,730 |
| Status formulas | Two Review rows and four On track rows |
Freeze multiple rows or columns
Match the boundary to the actual layout. If the headings are on row 3, freezing through row 3 also includes rows 1 and 2. It does not create a floating header for row 3 alone.
| Layout | Menu setting | Pinned area |
|---|---|---|
| One header row | View → Freeze → 1 row | Row 1 |
| Two header rows | View → Freeze → 2 rows | Rows 1–2 |
| Title, note, then headings | Select A3 → View → Freeze → Up to row 3 | Rows 1–3 |
| ID and name columns | View → Freeze → 2 columns | Columns A–B |
| Three identifier columns | Select C1 → View → Freeze → Up to column C | Columns A–C |
| Headers and record ID | Set 1 row, then 1 column | Row 1 and column A |
How to unfreeze rows and columns
Open View → Freeze → No rows to release the pinned rows. Use View → Freeze → No columns to release the pinned columns. To remove all frozen panes, perform both actions. Values, formulas, and formatting remain in the sheet.
Changing the boundary
Choose the new row or column count directly. You do not need to delete rows, move data, or rebuild the table to change the frozen area.
A remaining line is not always a freeze
If a line remains after unfreezing, inspect borders or other formatting. Do not delete data to remove a visual divider.
Fix common freeze problems
A useful frozen area keeps context visible without covering the working data. Diagnose the boundary, the sheet tab, and merged cells before changing the table.
The wrong rows stay visible
Confirm the selected row number. Up to row 5 pins rows 1 through 5, not just row 5. Reduce the boundary or put a concise header near the top of a working copy.
Only rows or only columns stay visible
The two settings are independent. Apply a row freeze for vertical scrolling and a column freeze for horizontal scrolling.
A merged cell crosses the boundary
Choose a boundary that contains the whole merged area. If Google Sheets reports a merged-cell conflict, review that area before unmerging; keep a copy because unmerging changes the layout.
The frozen area takes up the screen
Pin fewer rows or columns. On a small screen, a large title block or several wide columns can leave too little room to work with the data.
The next sheet has no frozen header
Freeze settings belong to each sheet tab. Repeat the configuration on the tabs that need it, rather than assuming one tab's layout applies everywhere.
You wanted to stop edits
Freezing is not protection. Use Data → Protect sheets and ranges to restrict edits to a header or formula range.
SheetsX workflow
Freeze a header with SheetsX Agent
The recorded row demo starts with 60 fictional orders in Sheet1!A1:E61 and no frozen panes. In a new English conversation, SheetsX applies the requested boundary and checks the saved sheet properties. Scrolling down then confirms that row 1 stays visible above row 51.
Workflow prompt
Freeze row 1 on Sheet1 and keep zero frozen columns. Preserve all values, formulas, formatting, protections, sharing settings, and other worksheets. Verify the saved frozen row and column counts. Reply briefly in English.
- Confirm Sheet1 has 1 frozen row and 0 frozen columns.
- Scroll down and check that the header remains visible.
- Keep the 60 order rows and their Total formulas intact.
- Check the intended worksheet; other tabs have independent settings.
This is an executed layout change, not cell protection. It does not grant or remove editing access. Row and column freezes are independent; use the manual menu steps above to adjust either boundary or remove it.
Add SheetsX to Google SheetsFrequently asked questions
How do I freeze a row in Google Sheets?
For the first row, choose View → Freeze → 1 row. For several rows, select a cell in the last row to pin and choose the Up to row option for that row number.
How do I freeze a column in Google Sheets?
Choose View → Freeze → 1 column to pin column A. Choose 2 columns for A:B, or select a cell farther right and use Up to column to pin everything from A through that column.
Can I freeze both a row and a column?
Yes. Set the row freeze and column freeze separately on the same tab. A common layout uses 1 row for headings and 1 column for record IDs.
Can I freeze only row 5 without freezing rows 1–4?
Not with the standard Freeze menu. Freezing through row 5 keeps rows 1–5 visible. If you only need a repeated heading, redesign the header in a working copy instead of treating a middle row as an independent frozen pane.
How do I freeze the first two rows?
Choose View → Freeze → 2 rows. This pins rows 1 and 2, even if your currently selected cell is farther down the sheet.
How do I unfreeze everything?
Choose View → Freeze → No rows, then View → Freeze → No columns. Removing one direction does not remove the other.
Does freezing change data, formulas, or permissions?
No. It changes which rows and columns remain visible while scrolling. It does not lock cells, change formula references, or prevent collaborators from editing.
