ShrinkExcel

Why your Excel file is so large

An .xlsx workbook is a ZIP file full of XML parts, so its size is the sum of those parts. Here is what usually makes one large, and what ShrinkExcel does about each cause. The reductions that start on keep everything you can see. The ones that remove something start off, and you can switch them on under Advanced settings on the front page.

What ShrinkExcel can remove

Each one links to a page on what it removes and what it leaves alone.

Safe, on by default

Extra, off by default

Formatted empty cells

Formatting a whole column, or clearing cells with Delete instead of Clear All, leaves empty cells that Excel still saves one by one, sometimes a million rows past the data.

What ShrinkExcel does. Removes empty cells whose formatting their row or column already supplies. Empty cells with their own fill or border stay. An optional reduction also clears formatting from empty cells past the last row and column with data, as Excel's Clean Excess Cell Formatting does.

Empty text placeholders

Files written by code libraries often store empty text cells between the values, which Excel drops the next time it saves.

What ShrinkExcel does. Treats a text cell with no value as empty, so it goes under the same rule as other empty cells. A cell that really holds an empty string stays, because formulas can tell the difference.

How the file is packed

An .xlsx is a ZIP of XML parts, and not every program compresses those parts as tightly as it could.

What ShrinkExcel does. Compresses every part again at the tightest standard setting, and keeps a part as it was when it was already packed smaller. On most workbooks this is where most of the saving comes from.

Pivot table caches

Every PivotTable keeps a saved copy of its source data inside the file, and separate PivotTables on the same data can each keep their own.

What ShrinkExcel does. Keeps the saved data by default. An optional reduction drops it when the source is a range, name or table in the same workbook, and has Excel rebuild it when the file opens. A PivotTable fed from another file or a connection keeps its copy.

The calculation chain

Excel stores the order it last calculated every formula in, one entry per formula cell. Formula-heavy workbooks carry a large one.

What ShrinkExcel does. Removes it unless the workbook calculates iteratively. Excel rebuilds it from the formulas.

A formula that points at another workbook makes Excel save a copy of the cells it reads, so it can show values when that file is closed.

What ShrinkExcel does. Removes links that nothing in the file reads, as Excel does when it saves. An optional reduction breaks the others as Excel's Break Link does: each formula that reads another workbook keeps the value it shows and stops updating. The copy is never dropped on its own, because a formula that reads a closed workbook with no copy calculates as zero, with no warning.

Fragmented conditional formatting

Inserting rows and pasting can split one conditional-format rule into hundreds of copies, each covering a sliver of the sheet.

What ShrinkExcel does. Keeps every rule, so editing one still changes only its own range.

Hidden and stacked shapes

Pasting from web pages and some macros leave invisible or stacked shapes behind, sometimes thousands of them.

What ShrinkExcel does. Keeps every shape by default. An optional reduction removes copies of an empty, invisible shape stacked exactly on top of each other and keeps the first. A workbook with macros is left alone, because a macro can refer to a shape by name.

Defined names

Copying sheets between workbooks brings their names along, including hidden ones and ones that point at nothing.

What ShrinkExcel does. Keeps every name.

Chart data

Every chart saves a copy of the values it plots, so a chart over thousands of rows repeats them inside the file.

What ShrinkExcel does. Keeps it by default. An optional reduction drops the copy for series on the workbook's own cells, which Excel redraws from the cells. Other apps may show such a chart empty until Excel saves the file again.

Pictures

Excel keeps a picture at its original resolution however small it is drawn, and cropping hides pixels without removing them.

What ShrinkExcel does. Keeps one copy of a picture stored more than once with identical bytes, and points every use at it. Every picture keeps its resolution.

The Power Pivot data model

Data loaded into the data model is stored inside the workbook as a compressed database, which can be most of the file.

What ShrinkExcel does. Keeps the model exactly as it is. Only its packing changes.

Drop a workbook on the front page to see which parts take up the space in yours.

To: feedback@shrinkexcel.com

What kind