The fastest way to remove empty rows
The quickest method is to use Excel's Go To Special feature to select all blank rows at once, then delete them. This works in Excel on Windows, Mac, and the web version. You do not need to find and delete rows one at a time.
The process takes about two minutes and works on spreadsheets of any size. If your spreadsheet has thousands of rows with gaps scattered throughout, this method will catch all of them in a single pass.
Key Takeaways
- Select your entire data range first — click the top-left cell of your data, then hold Shift and click the bottom-right cell to select everything at once.
- Use Go To Special (Ctrl+H on Windows, Cmd+H on Mac) to find and select all blank cells in your selection.
- Delete the selected rows by right-clicking and choosing Delete, then selecting Entire Row from the menu.
- If your spreadsheet has headers or labels, leave the first row selected before you start so the headers stay in place.
- This method removes rows that are completely empty — rows with even one value in any column will remain.
Step-by-step: selecting and deleting empty rows on Windows
Start by clicking the cell in the top-left corner of your data. If your spreadsheet starts with a header row (like "Name" or "Date"), click the first cell below the headers. Then hold Shift and click the bottom-right cell of your data range. This selects everything in between.
Now press Ctrl+H to open the Find & Replace dialog. Click the Options button to expand the menu. Check the box next to "Regular expressions" at the bottom. In the Find field, type ^$ (a caret and a dollar sign with no space). Leave the Replace field empty. Click Replace All.
Excel will select every blank cell that matches this pattern. Close the Find & Replace dialog. Now right-click on any of the selected cells and choose Delete. A menu will appear — select Entire Row and click OK. All empty rows disappear at once.
Step-by-step: selecting and deleting empty rows on Mac
Click the cell in the top-left corner of your data (below any headers). Hold Shift and click the bottom-right cell of your range to select all the data. Then press Cmd+H to open Find & Replace.
Click the expand arrow next to Format to reveal more options. Check the box for "Regular expressions". In the Find field, type ^$. Leave Replace empty. Click Replace All. Close the dialog when done.
Right-click on any selected cell and choose Delete. Select Entire Row from the menu that appears. All completely empty rows will be removed from your spreadsheet.
Using the web version of Excel
The web version of Excel does not have the Go To Special feature, so you will need a different approach. Select your data range the same way — click the top-left cell, hold Shift, and click the bottom-right cell.
Look for the Sort & Filter button in the Data tab at the top. Click it and choose Filter. Small dropdown arrows will appear in your header row. Click the dropdown arrow in any column and uncheck the blank option. This hides empty rows rather than deleting them. If you want to permanently remove them, copy all visible rows, paste them into a new sheet, and delete the old sheet.
What happens to rows that have some data but are mostly blank
The Go To Special method only removes rows that are completely empty — meaning every single cell in that row contains nothing. If a row has even one value in any column, it will stay in your spreadsheet.
If you want to remove rows where most cells are blank but a few contain data, you will need to delete those rows manually or use a different method. Scan through your spreadsheet first and identify which rows you actually want to keep, then delete the others by right-clicking and choosing Delete Row.
Protecting your headers when deleting empty rows
If your spreadsheet has a header row with column names, do not include it in your selection. Start your selection from the first data row below the headers. This way, your headers stay in place and only the empty data rows are removed.
If you accidentally select your headers, just click elsewhere to cancel the selection and start over. It takes only a few seconds to reselect the correct range.
Undoing a deletion if something goes wrong
If you delete rows and realize you made a mistake, press Ctrl+Z (Windows) or Cmd+Z (Mac) when ready. Excel will restore the rows you just deleted. You can undo multiple steps this way, so do not worry if the first attempt does not work as expected.
If you have already closed the file, the undo history is lost. For this reason, it is a good idea to save a copy of your spreadsheet before deleting large numbers of rows, especially if you are working with important data.
Frequently Asked Questions
Will this method delete rows that have spaces or formulas that return blank?
No. A cell with a space character or a formula that shows nothing is not truly empty, so those rows will remain. If you want to remove those rows too, you will need to manually find and delete them, or use a filter to hide them instead.
Can I delete empty rows from multiple sheets at once?
No, you have to repeat the process on each sheet separately. Select the data range on the first sheet, delete the empty rows, then move to the next sheet and do the same.
What if my spreadsheet is very large and the deletion takes a long time?
Excel may freeze briefly while processing thousands of rows. Wait for it to finish — do not close the program. If it does not respond after several minutes, you can force quit and reopen the file, but your changes will not be saved.
Does this work the same way in Google Sheets?
Google Sheets does not have the Go To Special feature. Instead, use the Data menu and select Create a filter, then uncheck blank rows in any column. Copy the visible rows, paste them into a new sheet, and delete the old one.
Can I delete rows based on other conditions, like rows where a specific column is empty?
Yes, but you will need to use filters instead. Click the Data menu, select Create a filter, and uncheck the blank option in the column you want to filter. Then select and delete the hidden rows manually, or copy the visible rows to a new sheet.