How to remove company, manager & application properties from xlsx
- Step 1Confirm what is actually exposed — Right-click the
.xlsxin Windows Explorer, choose Properties → Details, or open File → Info in Excel. Note theCompany,Manager,AuthorandApplication/Versionvalues you want gone — these are the fields this tool targets. - Step 2Drop the file onto the tool — The uploader accepts a single
.xlsx(the file picker also offers.xls/.ods, but ExcelJS reads OOXML — keep to.xlsx/.xlsm). ExcelJS loads the workbook into browser memory; nothing is uploaded to a server. - Step 3Run the wipe — There are no options to set. On run, ExcelJS sets
creator,lastModifiedBy,company,manager,description,subject,keywordsandcategoryto empty strings, then writes a fresh workbook buffer. - Step 4Download the clean workbook — The output is a binary
.xlsxnamed<original>-clean.xlsx(any.xlsminput is written out as.xlsx). The result panel shows duration and a one-change counter — click Download to save. - Step 5Verify in Explorer — Re-open Properties → Details on the downloaded file.
Company,ManagerandAuthorshould be blank;Applicationnow readsMicrosoft Exceland version reads a generic16.0300rather than your real build. - Step 6Pair with the core wiper for dates and title — This tool does not clear the
Titleproperty or the created/modified dates (ExcelJS regenerates those to the current time on write). For author-history and date removal that matches Office's own behaviour, also run the Office document property wiper.
Which document-property fields this tool changes
Mapped to the underlying OOXML part. 'Blanked' means set to an empty string; 'Overwritten' means ExcelJS writes a fixed value on save regardless of the input.
| Property | OOXML part / tag | What happens | Result value |
|---|---|---|---|
| Company | docProps/app.xml → Company | Blanked | empty |
| Manager | docProps/app.xml → Manager | Blanked | empty |
| Application | docProps/app.xml → Application | Overwritten by ExcelJS | Microsoft Excel |
| AppVersion | docProps/app.xml → AppVersion | Overwritten by ExcelJS | 16.0300 |
| Author | docProps/core.xml → dc:creator | Blanked | empty |
| Last modified by | docProps/core.xml → cp:lastModifiedBy | Blanked | empty |
| Description / Comments | docProps/core.xml → dc:description | Blanked | empty |
| Subject | docProps/core.xml → dc:subject | Blanked | empty |
| Keywords / Tags | docProps/core.xml → cp:keywords | Blanked | empty |
| Category | docProps/core.xml → cp:category | Blanked | empty |
What this tool does NOT touch
Important so you do not over-trust a single pass. Use the linked sibling tool where a field is out of scope.
| Out of scope | Why | Where to handle it |
|---|---|---|
Title property | The code does not assign wb.title, so an existing dc:title survives the round-trip | Clear it in Excel's File → Info, or office-doc-property-wiper |
| Created / modified dates | ExcelJS sets created/modified to the current time on write — they are not blanked | office-doc-property-wiper for true date removal |
docProps/custom.xml | Custom/enterprise key-value properties are never read or removed by this operation | Strip manually or via Office's Inspect Document |
| VBA macros | Macro binaries in xl/vbaProject.bin are untouched | excel-vba-macro-stripper |
| Cell comments / notes | Threaded comments and persons parts are not removed | excel-comment-purger |
| Hidden / very-hidden sheets | Sheet visibility and content are preserved | excel-hidden-sheet-destroyer |
Tier limits (Excel family)
Single file per run — the uploader is not multi-file for this tool even on higher tiers.
| Tier | Max file size | Row cap | Files / run |
|---|---|---|---|
| Free | 5 MB | 10,000 | 1 |
| Pro (minimum for this tool) | 50 MB | 100,000 | 1 (UI single-file) |
| Pro-media | 200 MB | 500,000 | 1 (UI single-file) |
| Developer | 500 MB | unlimited | 1 (UI single-file) |
Cookbook
Before/after of the actual XML parts inside the workbook ZIP. Values are illustrative; the transformation is exactly what the tool performs.
Company and Manager removed from app.xml
The two organisation-identifying fields are set to empty. Note that Application and AppVersion are not preserved from your file — they are rewritten to ExcelJS defaults.
Before (docProps/app.xml): <Application>Microsoft Excel</Application> <AppVersion>16.0.14326.21186</AppVersion> <Company>Acme Capital Partners LLP</Company> <Manager>R. Okonkwo</Manager> After (-clean.xlsx): <Application>Microsoft Excel</Application> <AppVersion>16.0300</AppVersion> <Company></Company> <Manager></Manager>
Author and last-editor removed from core.xml
core.xml is cleaned in the same pass. The created/modified timestamps are regenerated to the moment ExcelJS writes the file, not blanked.
Before (docProps/core.xml): <dc:creator>j.donnelly@acme.example</dc:creator> <cp:lastModifiedBy>m.tan@acme.example</cp:lastModifiedBy> <dc:subject>Q2 internal forecast</dc:subject> <cp:keywords>draft;confidential</cp:keywords> After: <dc:creator></dc:creator> <cp:lastModifiedBy></cp:lastModifiedBy> <dc:subject></dc:subject> <cp:keywords></cp:keywords>
Verifying the result in Explorer
What a recipient sees in Windows Explorer → Properties → Details before and after.
Before: Authors: j.donnelly@acme.example Company: Acme Capital Partners LLP Manager: R. Okonkwo Program name: Microsoft Excel 2021 (16.0.14326.21186) After: Authors: (blank) Company: (blank) Manager: (blank) Program name: Microsoft Excel (version 16.0300)
Title survives — clear it separately
The tool does not set the Title property, so a previously-saved Title remains. Confirm and remove it if it is sensitive.
Before: <dc:title>Acme – Project Falcon valuation model</dc:title> After this tool: <dc:title>Acme – Project Falcon valuation model</dc:title> ← unchanged Fix: Excel → File → Info → Properties → clear Title, or run /security-tools/office-doc-property-wiper.
Full hygiene chain before external distribution
Order the property wipe alongside macro and comment removal so nothing identifying remains.
1. excel-app-metadata-wiper → blank Company/Manager/author fields 2. /security-tools/office-doc-property-wiper → Title + dates 3. /excel-tools/excel-vba-macro-stripper → drop VBA project 4. /excel-tools/excel-comment-purger → remove reviewer comments Result: a workbook with no firm name, author, build, macros or review trail.
Edge cases and what actually happens
AppVersion is not 'removed' — it is reset to a generic value
By designExcelJS hard-codes Application to Microsoft Excel and AppVersion to 16.0300 whenever it writes a workbook. Your real build (e.g. 16.0.14326.21186) disappears, which removes the exact-build fingerprint, but the field itself is not blank — it shows the generic ExcelJS signature. If you need an empty AppVersion, no browser tool here produces that; the privacy goal (no traceable build) is still met.
Title property remains after the wipe
PreservedThe operation sets eight properties but never assigns wb.title, so an existing dc:title round-trips unchanged. If the Title carries a project codename or client name, clear it in Excel's File → Info or with the office-doc-property-wiper.
Custom enterprise properties survive
PreserveddocProps/custom.xml holds arbitrary key-value metadata that DMS/SharePoint workflows inject (e.g. _dlc_DocId, ClassificationLevel). This tool does not read or remove that part — despite an older FAQ suggesting a 'clear custom properties' option, no such option exists in the actual tool. Remove custom properties via Office's Inspect Document if they matter.
Created and modified dates change to 'now'
ExpectedExcelJS regenerates created and modified to the current timestamp on write rather than blanking them. The clean file therefore looks newly created. This is harmless for most distribution scenarios but is not date redaction — use the office-doc-property-wiper if a specific or absent date is required.
.xlsm input downloads as .xlsx and loses macros' container
ExpectedThe output filename always ends .xlsx. ExcelJS rewrites the workbook and does not carry the macro-enabled container forward reliably, so treat .xlsm here as 'metadata-cleaned, macro-free copy'. If you specifically need VBA removed, use excel-vba-macro-stripper; to keep macros, do property edits in Excel instead.
File over the tier size limit
rejectedExcelJS loads the entire workbook into memory. A file above your tier's Excel cap (Free 5 MB, Pro 50 MB, Pro-media 200 MB, Developer 500 MB) is rejected before processing. Upgrade tier or, for huge models, run a desktop ExcelJS/openpyxl script.
Password-protected / encrypted workbook
failsAn OPC-encrypted (open-password) .xlsx is not a readable ZIP until decrypted, so ExcelJS cannot load it and the run fails. Remove the open password in Excel first, then wipe metadata. Use excel-password-tester only to assess strength — it does not decrypt.
Corrupt or non-OOXML file picked
errorAlthough the picker lists .xls/.ods, ExcelJS parses OOXML (.xlsx/.xlsm). A legacy binary .xls or an .ods may throw on wb.xlsx.load. Re-save as .xlsx from Excel/LibreOffice first.
Charts, pivots and conditional formatting
PreservedBecause the workbook is round-tripped through ExcelJS, charts, pivot caches, defined names and conditional formats are re-serialised. ExcelJS is faithful for mainstream features; very exotic constructs may differ slightly — diff against the original with excel-format-inspector if exactness matters.
Recipient still sees the filename
ExpectedFilenames are filesystem data, not document properties — wiping metadata does not change the name. The -clean suffix is added by the tool; rename the file before sending if the original name itself is revealing.
Frequently asked questions
Does this tool actually delete the Excel version number?
It removes your real build number by replacing it: ExcelJS rewrites app.xml with Application = Microsoft Excel and AppVersion = 16.0300 on every save. So your true build (e.g. 16.0.14326.21186) is gone, but the field shows a generic value rather than being empty. The privacy outcome — no traceable build fingerprint — is achieved.
Exactly which fields get blanked?
Eight: creator and lastModifiedBy (core.xml), company and manager (app.xml), and description, subject, keywords, category (core.xml). Each is set to an empty string.
Does it clear custom properties?
No. docProps/custom.xml is not touched. An older FAQ mentioned a 'clear custom properties' option, but the live tool has no options at all and never modifies custom.xml. Use Office's Inspect Document for those.
Is the Title removed?
No. The tool does not set the Title property, so an existing dc:title survives. Clear it in Excel (File → Info) or with the office-doc-property-wiper.
Are the creation and modification dates removed?
No — ExcelJS regenerates them to the current time on write. The clean file looks newly created. For true date redaction use the office-doc-property-wiper at /security-tools/office-doc-property-wiper.
Is my file uploaded anywhere?
No. ExcelJS runs in your browser; the workbook is loaded, edited and re-serialised locally. Nothing is sent to a server, which is the point for files that carry your identity.
What is the difference between this and the Core Metadata Wiper?
They overlap. This tool blanks Company/Manager (app.xml) plus author and several core.xml fields. The core/office property wiper at /security-tools/office-doc-property-wiper focuses on author, dates and title across Office formats. For the most complete strip, run both and also clear the Title.
Does it preserve my formulas and formatting?
Yes. The workbook is round-tripped through ExcelJS, so cells, formulas, number formats, charts and defined names are re-written. Only the listed document properties change.
Why is this a Pro-tier tool?
It uses ExcelJS, which is heavier than the SheetJS path used by the lighter CSV-style tools. Pro tier (50 MB / 100,000 rows) covers the extra compute and file-size allowance.
Can I batch-process a folder of files?
Not in this UI — the uploader is single-file even on higher tiers. Process files one at a time, or script ExcelJS yourself for bulk work.
What output do I get?
A binary .xlsx named <original>-clean.xlsx, offered as a download. The result panel shows the run duration and a single-change counter; there is no preview of the workbook contents.
What if I also have macros or reviewer comments to remove?
This tool only handles document properties. Use excel-vba-macro-stripper for VBA, excel-comment-purger for comments and excel-hidden-sheet-destroyer for hidden sheets — chain them after this wipe for a fully sanitised workbook.
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.