Convert XLSM to XLSX Online
Remove executable Excel macro content while keeping the workbook data that a regular XLSX can hold.
- Add a file Choose or drop it here
- Pick the format Change it whenever needed
- Download the result After conversion completes
The Difference Is Code Permission, Not a Different Spreadsheet Grid
XLSM and XLSX are both Microsoft Office Open XML workbook formats. Both can hold modern Excel sheets, values, formulas, formatting, charts, tables, and drawings, and both use the modern grid of 1,048,576 rows and 16,384 columns per worksheet. The difference is intentionally narrow but important: Microsoft states that files with the ordinary x suffix cannot contain VBA and XLM macros, while m-suffix files such as XLSM can. Converting XLSM to XLSX is therefore a deliberate removal of macro capability, not a way to improve formula accuracy or expand the worksheet grid.
That is useful when a workbook’s visible tables and calculations are needed but its automation is not. It also creates a clearer file for recipients who should not be asked to run code. Do not treat it as a harmless format swap if the source has buttons, Workbook_Open actions, custom functions, or macros used to refresh data. Those features are the very things the target cannot retain. Keep the source XLSM unchanged until the macro-free copy passes its required checks.
What Is Removed From the Open XML Package During a Real Conversion
Both formats are ZIP-style packages with XML parts for workbook information, sheets, shared strings, styles, drawings, and relationship files. XLSM also declares a macro-enabled workbook content type and may carry a separate VBA project. A real XLSM-to-XLSX conversion removes the VBA project and changes the package content type to the regular workbook type. It is not equivalent to changing four letters in File Explorer. Renaming leaves the package claiming one thing while its extension claims another, which can produce Excel’s file-format or extension warning.
The rule has a hard edge: ordinary XLSX cannot contain VBA or XLM macros. Excel will warn that macros are removed when saving an actual macro workbook to XLSX. If a macro has written values into cells before conversion, those values can remain as ordinary cell data. If the macro is the only way to create a report, refresh a data source, enforce validation, or calculate a custom function, the new file will not reproduce that action. Run the source macro only when it is trusted, capture the desired final data, then make the XLSX delivery copy.
The Security and Sharing Gains, Along With the Lost Automation
- Gain a macro-free container: XLSX cannot carry VBA or XLM macro code.
- Gain simpler sharing: recipients are not asked to assess macro execution.
- Keep modern sheet capacity: the XLSX grid is the same as XLSM’s 1,048,576 rows by 16,384 columns.
- Keep ordinary workbook data: sheets, static formulas, styles, and charts can remain where supported.
- Lose VBA projects: modules, code behind buttons, and event procedures are removed.
- Lose macro-dependent behavior: a custom function can become an unavailable function or leave only prior values.
This conversion may be a security improvement for distribution, but it is not a security review of the values already present. A macro could have previously changed data, and an XLSX can still contain external links or formulas that request updates. Inspect the completed workbook as data, not merely as a file that no longer shows a macro warning.
Why an XLSX Copy Avoids One Download Warning but Not Every Trust Decision
Microsoft 365 Apps blocks macros from Office files obtained from the internet by default. Windows adds Mark of the Web to downloads and email attachments from untrusted locations. Microsoft documents that Internet ZoneId 3 causes VBA macros to be blocked by default. An XLSX does not contain VBA or XLM macros, so this specific macro-execution block has no code to act on. That is one reason macro-free copies are easier to distribute to readers who need only the sheet data.
It does not mean “XLSX is always safe.” Phishing, misleading values, external connections, and untrusted links are separate issues. Nor should a sender tell recipients to click Unblock on a source XLSM merely to create an XLSX. If a trusted owner must run a macro to generate final values, do that in the approved environment; then share the tested macro-free output. The security distinction is useful precisely because the two files should have different jobs.
Conversion Failures That Look Like Data Loss but Often Have a Clear Cause
The most expected complaint is a button that no longer works. It depended on VBA code, so it cannot be preserved in XLSX. Replace the workflow with manual steps, retain the XLSM internally, or redesign the process with non-macro Excel features where possible. Another complaint is a displayed value that no longer updates. A macro may have populated the cell or supplied a custom worksheet function; test a harmless input change to see whether a standard formula recalculates or whether the value was macro-produced.
Compatibility can cause a different kind of confusion. LibreOffice can load Microsoft Office files and may retain original VBA code in a Microsoft format, but its documentation says VBA support is incomplete. A file that opened there is not proof that the original macro behavior was valid. For a macro-removal task, confirm the XLSX has no need for that code; then open it in the recipient’s actual spreadsheet software, compare sheet count, formulas, date values, key totals, print pages, and charts.
A Side-by-Side Check Before Releasing the Macro-Free Copy
| Check | XLSM source | XLSX copy |
|---|---|---|
| Package type | Macro-enabled Open XML | Regular Open XML |
| VBA/XLM code | May exist | Not permitted |
| Worksheet grid | 1,048,576 × 16,384 | Same grid |
| Button actions | May run code | Do not retain VBA actions |
| Internet macro block | Can apply with MOTW | No macros to block |
| Correct role | Automation source | Data-sharing copy |
Questions About Removing Macros From an Excel Workbook
Will formulas be removed with the macros?
Ordinary worksheet formulas can remain. VBA custom functions and macro-driven updates cannot be relied on in XLSX.
Can I just rename .xlsm to .xlsx?
No. The package must be converted so the macro project and macro-enabled content type are removed.
Why does the output still have an external-link prompt?
Removing macros does not automatically remove workbook links or connections. Review them separately.
Should the XLSM be discarded?
No. Keep it as the automation source if it is trusted and still needed.
How do I prove the XLSX is usable?
Open it in the receiving software and compare key sheets, values, formulas, dates, charts, and printed layout.
Macro removal should not be confused with formula conversion. Standard Excel formulas such as SUM, IF, and XLOOKUP are workbook content and can remain in XLSX, subject to the recipient's Excel version. A value supplied by a VBA user-defined function is different: the formula may show a name Excel can no longer resolve once the VBA project is gone. Record those cells before conversion. If the delivery copy only needs final numbers, calculate and copy approved values deliberately; if it needs live calculation, replace the custom function with a standard formula or redesign the workbook before sharing.
Excel controls and shapes deserve a visual check. A source workbook can display buttons that call macros. After conversion, a button image may remain but its action cannot be useful without the code, which can mislead a reader into clicking it. Remove or label obsolete controls in the XLSX copy. Also check data refresh arrangements: a macro may have imported a CSV, called a database query, or updated a pivot report. The macro-free file can preserve the last visible result, but not the step that obtained it.
For regulated or reviewable work, retain an immutable original XLSM and log the macro-free export date, Excel version, calculation mode, and the person or process that performed it. This is not bureaucracy for its own sake: a workbook in manual calculation mode can display old results even when its formulas survive correctly. Opening the source, checking calculation status, and saving a tested XLSX avoids distributing a clean-looking file whose totals are from an earlier refresh. The target's strength is that it communicates data without executable macro content, not that it reconstructs an automation history.
Finally, use Save As or a converter that produces a new file rather than overwriting the original. Excel's warning about lost macro features is the intended checkpoint. Open the saved XLSX fresh, close the source without changing it, and compare the copies side by side. If the result must travel outside the organization, that final open should happen from the same shared location or download path the recipient will use, so link and display problems are caught before distribution.