How to Freeze Rows in Google Sheets: A Step‑by‑Step Guide
What Are Frozen Rows and Why Use Them?
In Google Sheets a frozen row (sometimes called a locked or pinned row) stays visible at the top of the screen while you scroll through the rest of the worksheet. The data isn’t protected from editing; it simply remains in view, acting like a static header.
| Feature | What It Means for Your Sheet |
|---|---|
| Visibility while scrolling | The frozen row is always displayed, so column titles, dates, or key totals never disappear. |
| No impact on formulas | Freezing does not change cell references; A2, B2, etc., still refer to the same cells. |
| Works on desktop and mobile | The same rows stay at the top whether you’re on a laptop, tablet, or phone. |
| Easy to toggle | You can add or remove frozen rows with a single menu click or a shortcut. |
Why Freeze Rows?
- Keep headers in sight – When a sheet contains dozens or hundreds of rows, column headings can disappear off‑screen. Freezing the header row ensures you always know what each column represents, reducing mistakes.
- Maintain context for grouped data – A frozen row with a date or category label lets you see the context for each group as you scroll.
- Simplify navigation – You don’t have to scroll back to the top to check a label, saving time.
- Help collaborators stay oriented – Everyone sees the same reference point, which lowers the chance of misinterpretation.
- Support filters and data validation – Keeping headers visible makes filtering and validating data more intuitive.
In short, frozen rows are a visual aid, not a security feature. They help you work faster, avoid errors, and keep the most important information front and center, especially in large or shared spreadsheets.
Freezing the First Row
Freezing the top row keeps your column headings visible while you scroll through long lists.
| A | B | C |
|---|---|---|
| Name | Date | Amount |
| Alice | 1/5/2024 | 120 |
| Bob | 1/6/2024 | 85 |
| Carol | 1/7/2024 | 230 |
| … | … | … |
Steps
- Open the sheet you want to edit.
- Select any cell in the first row (you don’t need to highlight the whole row).
- Use the View menu
- Click View → Freeze → 1 row.
- The first row turns gray‑shaded and stays at the top when you scroll.
- Verify by scrolling down; the header row should remain visible.
Shortcut (optional)
- Hover over the thin gray line between rows 1 and 2 until the cursor becomes a double‑arrow.
- Click and drag the line down to row 1 (to freeze) or back up (to unfreeze).
Quick reference
| Action | Menu path | Shortcut |
|---|---|---|
| Freeze first row | View → Freeze → 1 row | Drag the gray bar below row 1 |
| Unfreeze all rows | View → Freeze → No rows | Drag the gray bar back to the top |
Freezing Multiple Rows
You can freeze any contiguous block of rows that starts at the top of the sheet.
Steps
- Select the row below the block you want frozen – e.g., click row 5 to freeze rows 1‑4.
- Open the Freeze menu – View → Freeze.
- Choose Up to current row (5) (the number reflects the row you selected).
- Verify – a gray line appears beneath the frozen rows; they stay visible while you scroll.
Quick reference
| Action | Menu path | Result |
|---|---|---|
| Freeze first 2 rows | View → Freeze → 2 rows | Rows 1‑2 locked |
| Freeze first 5 rows (dynamic) | Select row 6 → View → Freeze → Up to current row (6) | Rows 1‑5 locked |
| Unfreeze all rows | View → Freeze → No rows | No rows locked |
Tips & Gotchas
- Contiguous only – You can’t freeze non‑adjacent rows; split the data onto separate sheets or use a script if you need that behavior.
- Keyboard shortcut –
Alt + W, F, U(Windows) or⌥ + W, F, U(Mac) opens the Freeze submenu quickly. - Cross‑platform – Freezing works in the web app, mobile app, and offline mode. In Excel the equivalent is View → Freeze Panes → Freeze Top Row (or Freeze Panes after selecting a cell beneath the rows you want to lock).
Unfreezing Rows and Adjusting the Freeze
Unfreeze All Rows
- View → Freeze → No rows (or No columns if you also have a column freeze).
- The gray frozen area disappears and the sheet scrolls normally.
Reduce the Freeze Range
If you have frozen more rows than needed, simply choose a smaller preset:
| Step | Action | Result |
|---|---|---|
| 1 | View → Freeze → 3 rows (the current setting) | Shows three preset options. |
| 2 | Select 2 rows | Only the top two rows stay frozen; the third scrolls with the rest. |
Drag‑Handle Method
The gray bar below the frozen rows (or to the right of frozen columns) can be dragged:
- Reduce – drag the bar upward until it sits above the last row you want frozen.
- Increase – drag it downward to include additional rows.
Changes apply instantly, so you can see exactly which rows are locked.
Consistency Tips
- Use a single header row across all sheets to avoid constant re‑freezing.
- Document the intended freeze layout in a hidden “Instructions” tab for collaborators.
- Remember that freeze settings are sheet‑specific; changing one tab does not affect the others.
Common Issues and Troubleshooting
| Issue | Why It Happens | Quick Fix |
|---|---|---|
| Freeze option is greyed out | The sheet is view‑only or you lack edit rights. | Request Editor access or make a copy of the file. |
| Only the first row freezes after selecting “2 rows” | An active filter view resets the freeze to the top of the filtered range. | Turn off the filter (Data → Turn off filter) and set the freeze again. |
| Frozen rows disappear after reload | A script or add‑on overwrote the view with sheet.setFrozenRows(0). |
Disable the offending add‑on or edit the script to preserve the setting. |
| Rows appear to move while scrolling | You’re in Compact controls (paginated view) where the freeze bar is hidden. | Switch to classic view: View → Compact controls → Off. |
| Freeze works on one sheet but not another | Freezing is sheet‑specific. | Apply the freeze steps to each worksheet that needs it. |
| Frozen rows misalign in printouts | Print settings ignore frozen rows. | In Print preview, enable “Include frozen rows” or adjust scaling manually. |
Troubleshooting flow
- Check permissions – Ensure you have edit access.
- Verify view mode – Exit any filter or protected view.
- Refresh the browser – A quick reload often restores a missing freeze bar.
- Re‑apply the freeze – Select the desired rows and choose View → Freeze again.
- Test in a new sheet – If it works there, the problem is specific to the original sheet (e.g., a script or add‑on).
When to use a script
If you need the same freeze range on many sheets, an Apps Script can apply it automatically:
function freezeTopRows() {
const ss = SpreadsheetApp.getActiveSpreadsheet();
ss.getSheets().forEach(sheet => sheet.setFrozenRows(3)); // freezes rows 1‑3 on every sheet
}
Run the script once, and all sheets will have rows 1‑3 frozen.
FAQ
How do I freeze more than one row in Google Sheets?
Select the row below the block you want frozen, then choose View → Freeze → Up to current row (X), where X is the row number you selected. Google Sheets will lock all rows above that selection (e.g., selecting row 6 freezes rows 1‑5).
Can I freeze rows in a Google Sheets add‑on?
Yes. Many add‑ons expose a “Freeze rows” command, but they ultimately call the same sheet.setFrozenRows() method that the native menu uses. The result is identical; just ensure the add‑on has edit permission for the spreadsheet.
What happens to frozen rows when I share the sheet?
Frozen rows are a view setting, not a data setting, so every collaborator sees the same frozen rows as long as they have edit access. View‑only users can see the freeze but cannot change it. If you change the freeze setting, the update is saved to the file and instantly visible to anyone who opens the sheet.
All steps work in the current web version of Google Sheets and in the mobile app. No additional software or extensions are required.