How to clean hidden sheets from excel before sending to clients or vendors
- Step 1Audit the file you are about to send — Before attaching the workbook to an email or uploading to a shared drive, drop it into this tool. It accepts
.xlsx,.xls, and.ods. Requires the Developer tier. Processing is browser-local. - Step 2Run List only to inventory hidden content — Keep Mode on
List only (no changes). Read theHidden sheets (N): ...andVeryHidden sheets (N): ...lines — these are precisely what a recipient could expose. - Step 3Decide what must not leave the building — Sheet names usually tell the story:
Margins,Vendor_Costs,Salaries,RawExtract,Notes_Internal. Anything that is internal-only should be deleted before sharing. - Step 4Pick the right delete mode — If only specific internal sheets are hidden and nothing visible depends on them,
Delete all hidden + VeryHiddenis the cleanest for an external copy. If you need to keep a hidden lookup table that visible formulas use, preferDelete VeryHidden sheetsand remove the rest manually. - Step 5Download the share-safe copy — Run the delete mode and download
<original>-sheets-cleaned.xlsx. This is your external copy — keep the full original internally. - Step 6Finish the hygiene pass — Re-run
List onlyto confirm zero hidden/VeryHidden sheets, then run the Comment Purger (/excel-tools/excel-comment-purger) and Core Metadata Wiper (/security-tools/office-doc-property-wiper) for a complete pre-share clean.
Pre-share audit checklist
What to look for in the List only report and how to act on it.
| What the report shows | Risk if shared | Action |
|---|---|---|
Hidden sheets (N>0) | Recipient un-hides in two clicks → sees internal data | Delete the internal ones before sending |
VeryHidden sheets (N>0) | You may not even know these exist (not in Unhide dialog) | Review names; delete with Delete VeryHidden sheets |
A hidden sheet named like a lookup (Lookup_Table) | Visible formulas may reference it → deleting breaks them | Flatten dependents to values first, or keep it |
Hidden sheets (0) and VeryHidden sheets (0) | No hidden-sheet exposure | Move on to metadata/comments |
Mode choice for pre-share cleaning
Map your sharing scenario to the mode.
| Scenario | Mode | Result |
|---|---|---|
| External copy, nothing visible depends on hidden sheets | Delete all hidden + VeryHidden | Only visible deliverable sheets remain |
| Keep a hidden lookup table used by formulas | Delete VeryHidden sheets | VeryHidden gone, hidden lookups preserved |
| Just auditing, not yet sending | List only (no changes) | Read-only inventory, file untouched |
| Remove ordinary hidden sheets, keep VeryHidden | Delete hidden sheets | Hidden gone, VeryHidden preserved |
Cookbook
Real pre-share audits on workbooks that were about to be emailed externally. Sheet names anonymised but representative.
Audit catches a margin sheet about to be emailed
The model looked clean in the tab bar, but List only exposed an internal margins sheet a client should never see.
Mode: List only (no changes) Visible sheets (2): Proposal, Pricing Hidden sheets (2): Margins, Vendor_Costs VeryHidden sheets (0): none -> 'Margins' and 'Vendor_Costs' must not be shared
Delete all hidden + VeryHidden for the client copy
Nothing visible references the internal sheets, so the external copy keeps only the deliverable tabs.
Before: Visible (2): Proposal, Pricing Hidden (2): Margins, Vendor_Costs VeryHidden (0): none Mode: Delete all hidden + VeryHidden After: Visible (2): Proposal, Pricing Hidden (0): none Download: proposal-sheets-cleaned.xlsx (client copy)
A VeryHidden audit log you didn't know was there
Excel's Unhide dialog would never have shown this. List only does.
Mode: List only (no changes) Visible sheets (3): Dashboard, Q1, Q2 Hidden sheets (0): none VeryHidden sheets (1): _change_log -> '_change_log' has every edit timestamp; delete it
Keep the lookup, delete the rest
Pricing reads from hidden Rates, so you cannot blanket-delete. Remove the VeryHidden audit sheet only, handle Rates deliberately.
Visible 'Pricing': =VLOOKUP(B2, Rates!A:C, 3, 0) Mode: Delete VeryHidden sheets (removes _change_log) Hidden 'Rates' kept -> Pricing still calculates. If 'Rates' also must go: run Formula to Value on Pricing first (/excel-tools/excel-formula-to-value), then delete hidden.
Full pre-share clean in three tools
Hidden sheets are one layer. A complete clean also strips comments and document metadata.
1. Hidden Sheet Destroyer -> Delete all hidden + VeryHidden 2. Comment Purger (/excel-tools/excel-comment-purger) -> remove reviewer notes / threaded comments 3. Core Metadata Wiper (/security-tools/office-doc-property-wiper) -> strip author, company, last-saved-by Result: a clean external copy.
Edge cases and what actually happens
Re-hiding a sheet is not the same as deleting it
InsufficientSetting a sheet back to hidden before sharing does not protect it — any recipient can Unhide it. Only deletion removes the data from the file. This tool deletes; it does not merely re-hide. That distinction is the whole reason to audit before sharing.
A hidden sheet feeds a visible formula
Formula error (#REF!)If you delete a hidden sheet that a visible cell references, that formula becomes #REF! in the shared copy — which is both broken and a tell that something was removed. List first; flatten dependents with Formula to Value before deleting referenced sheets.
VeryHidden sheets you can't see in Excel
By designExcel's Unhide dialog omits VeryHidden sheets, so a manual pre-share check in Excel can miss them entirely. This tool reads the raw state and reports VeryHidden sheets by name, which is exactly the blind spot a pre-share audit needs to cover.
Hidden rows, columns, and cell comments are not sheets
Out of scopeThis tool removes hidden worksheets. Hidden rows/columns, cell comments, and named ranges live inside sheets and are not touched. Use the Comment Purger for comments and unhide rows/columns in Excel before sharing if needed.
Deletion is permanent — keep the original
By designDeleted sheets are not stored in the output. Always keep the full internal workbook; the cleaned download is your external copy, not a replacement for the master.
Document metadata still leaks author/company
Separate cleanupRemoving hidden sheets does not strip the workbook's document properties (author, company, last-saved-by). For a complete pre-share clean run Core Metadata Wiper afterwards.
Tool requires Developer tier
403 Developer requiredThe processor throws Hidden Sheet Destroyer requires Developer tier. on lower tiers. Pre-share auditing with this specific tool is Developer-only.
List only does not produce a downloadable file
ExpectedList only is read-only and returns a text report, not a file. Switch to a delete mode to generate the cleaned share-safe copy.
Frequently asked questions
Can recipients still see deleted sheets?
No. Deleted sheets are permanently removed from the file — they are not stored anywhere in the output and cannot be un-hidden by the recipient, because they no longer exist in the workbook.
Isn't hiding a sheet enough before I share?
No. A hidden sheet is one right-click → Unhide away from being fully visible. Hiding obscures, it does not protect. To prevent a recipient from seeing internal data, delete the sheet — which is what this tool does.
How do I see what's hidden without changing the file?
Run List only (no changes). You get a three-line report naming every visible, hidden, and VeryHidden sheet, with no modification to the file and no download.
What if a hidden sheet has lookup data my formulas depend on?
Review the hidden sheet names first. If a visible formula references it (e.g. =VLOOKUP(..., Lookup_Table!A:B, ...)), deleting the sheet breaks the formula to #REF!. Convert dependent formulas to static values with Formula to Value (/excel-tools/excel-formula-to-value) before deleting, or keep that sheet and delete the rest.
Will this also remove VeryHidden sheets I can't see in Excel?
Yes. List only reports VeryHidden sheets by name (Excel's Unhide dialog won't), and Delete VeryHidden sheets or Delete all hidden + VeryHidden removes them. That blind spot is exactly what a pre-share audit should catch.
Does it strip document metadata and comments too?
No — this tool only removes hidden worksheets. For a complete pre-share clean, also run the Comment Purger (/excel-tools/excel-comment-purger) and the Core Metadata Wiper (/security-tools/office-doc-property-wiper).
Is my workbook uploaded anywhere during the audit?
No. ExcelJS reads the file into memory in your browser and all processing is local. The internal numbers in your model never reach a server, so the audit itself creates no new exposure.
What does the cleaned file get named?
On a delete mode the download is <original-name>-sheets-cleaned.xlsx. Use that as your external copy and keep the original internally.
Does it preview the contents of each hidden sheet?
No. It reports sheet names and counts, not cell data. If a name is ambiguous, open the workbook in Excel to inspect that sheet before deciding to delete it.
Why is the tool locked for me?
Hidden Sheet Destroyer requires the Developer tier; the processor refuses lower tiers before reading the file. Developer tier also raises the Excel file cap to 500 MB with no row limit.
Can I make this a standard step before every external send?
Yes. Drop the file in, run List only, and if anything internal is hidden, run Delete all hidden + VeryHidden. For volume, automate via the runner: POST the file with { "mode": "delete-all" } to http://127.0.0.1:9789/v1/tools/excel-hidden-sheet-destroyer/run.
How large a workbook can I audit?
On Developer tier the Excel family cap is 500 MB per file with no row limit; the practical ceiling is browser memory because ExcelJS loads the whole workbook to enumerate and rewrite sheets.
Privacy first
Every JAD Excel tool runs entirely in your browser using SheetJS and ExcelJS. Your spreadsheets, formulas, and data never leave your device — verified by zero outbound network requests during processing.