XLSX vs Google Sheets: What the File Format Actually Changes

By the XLsheetAI Team · Updated September 27, 2026 · 11 min read

Machine translation, opens on Google’s site.
TL;DR

The short answer

An .xlsx and a Google Sheet are not two formats for the same thing — they are two different kinds of object. The .xlsx is a self-contained file you possess: a zipped bundle of XML that any tool can read, copy, email, checksum or archive. A Google Sheet is a live record on a server that you reach through a URL, and downloading it produces an .xlsx that did not exist a second earlier. Once you see them as a file versus a service, the practical consequences stop being surprising: files fork and can be signed, services stay singular and can be co-edited, and converting between them costs something every time because each side holds concepts the other has no home for.

This article is about the artefact. If you are choosing which product a team should use, Excel vs Google Sheets covers pricing, scale limits, automation and AI features, and is the better starting point.

What is actually inside an .xlsx

Try this now, because it takes fifteen seconds and permanently changes how you think about spreadsheets. Take any .xlsx, make a copy, rename the copy's extension to .zip, and open it.

It is a folder. Inside:

PartWhat it holds
[Content_Types].xmlA manifest declaring what type each other part is
xl/workbook.xmlThe list of worksheets, defined names, and workbook-level settings
xl/worksheets/sheet1.xmlOne file per worksheet: the actual cells, their formulas and their values
xl/sharedStrings.xmlEvery distinct piece of text in the workbook, stored once, referenced by index
xl/styles.xmlFonts, fills, borders, number formats — all formatting, separated from content
xl/calcChain.xmlThe order Excel last calculated the formulas in
_rels/ foldersHow the parts reference each other

Open a worksheet XML and a cell looks roughly like this:

<c r="B7"><f>SUM(B2:B6)</f><v>55</v></c>

Read that carefully, because it explains a behaviour that confuses people. Cell B7 stores two things: the formula as text, and 55 as the last value it computed. The file caches results. That is why a tool that cannot evaluate formulas — a Python script, a preview pane, an import routine — can still show you numbers, and why those numbers are whatever they were when the file was last saved by something that did calculate. A stale cached value in a file nobody has recalculated is a real failure mode, not a theoretical one.

The sharedStrings design is worth noticing too. Text is stored once and referenced, so a column of 100,000 rows containing one of five category names stores five strings and 100,000 short references. It is why .xlsx files are often far smaller than people expect, and why a workbook of unique text is far larger than a workbook of repeated text at the same row count.

The other Excel extensions, briefly

ExtensionWhat it isWorth knowing
.xlsxOffice Open XML, zipped XML, since Excel 2007The default. No macros allowed, which is a security feature, not a limitation
.xlsmThe same, plus a VBA macro projectThe only way to ship macros in the modern format
.xlsbThe same structure, saved as binary instead of XMLNoticeably smaller and faster to open on large workbooks. Less readable by non-Excel tools
.xlsThe pre-2007 binary format (BIFF)Caps at 65,536 rows and 256 columns, and drops anything beyond that silently
.csvPlain text, one line per rowNo formulas, no formatting, no multiple sheets, no cell types. Universally readable and lossy by design
.odsOpenDocument Spreadsheet, the ISO standard used by LibreOfficeAlso zipped XML. Google Sheets exports it; round trips to Excel lose more than .xlsx does

That .xls row is not a historical footnote. In 2020, Public Health England lost 15,841 positive COVID-19 test results because results were collated into templates saved in .xls, and rows past the 65,536 ceiling were dropped without a warning — a case covered in the costliest spreadsheet errors ever made. Truncation is the most dangerous kind of failure, because the output still looks complete.

A Google Sheet has no file

This is the part that makes the comparison click, and most explanations skip it.

When you create a Google Sheet, no spreadsheet file is written anywhere you can reach. The content lives as structured data in Google's storage, and what you are given is a URL. There is no .gsheet document containing your data — the thing that appears in Google Drive is a pointer to a record held server-side.

So when you choose File → Download → Microsoft Excel (.xlsx), Google does not hand you a stored file. It builds one, right then, by translating its internal representation into the Office Open XML structure described above. Download the same Sheet twice and you get two separate files, each a snapshot of a different instant, neither of which is the document.

Three consequences follow directly, and they are the answers to most questions in this area:

.xlsx — a file you possess plan.xlsx zipped XML emailed → plan_v2.xlsx plan_FINAL.xlsx plan(1).xlsx three truths, merged by hand Google Sheet — a record you reach one record on Google's servers Priya Sam Lee nothing to fork download → new .xlsx a snapshot, built on request — and it forks like any file The moment you download a Sheet, you are back in the left-hand world.
A file's natural behaviour is to multiply. A server-side record's natural behaviour is to stay singular. Neither is better; they fail in opposite directions.

Three things people mean by "sharing a spreadsheet"

The question "how does real-time collaboration work in a cloud tool versus a shared Excel file?" has a confusing answer because "a shared Excel file" describes two completely different situations. There are three cases, not two.

Emailed .xlsx.xlsx in OneDrive / SharePointGoogle Sheet
How many copies existOne per recipient, immediatelyOne, opened by everyoneOne, by construction
Simultaneous editingNo. Everyone edits their own copyYes — genuine co-authoringYes
Seeing others typeNoYes, with presence and selection indicatorsYes
Conflict resolutionManual. You reconcile by hand, laterHandled by the service as edits arriveHandled by the service as edits arrive
HistoryWhatever the filenames tell youVersion history in OneDrive / SharePointContinuous edit log, attributed per change
Works offlineCompletelyYes, and syncs on reconnectOnly with offline mode enabled beforehand
Fails bySilent divergenceFeature-related lock-outsNeeding the service to be reachable

The middle column is the one people underestimate, usually because they last tried it years ago. Excel co-authoring is real: per Microsoft's own documentation, it requires the workbook to be stored in OneDrive, OneDrive for Business or SharePoint Online, in .xlsx, .xlsm or .xlsb format, with AutoSave keeping changes flowing. Note two exclusions in that list: the Strict Open XML variant is not supported, and SharePoint sites hosted on-premises rather than by Microsoft do not support co-authoring at all.

The thing to take from that table: what decides whether two people can edit a spreadsheet at once is where it lives, not what format it is in. The same .xlsx is a collaboration disaster as an attachment and a genuine co-authoring document in OneDrive. Most "Excel can't collaborate" complaints are really "we email attachments" complaints, and that is a workflow choice rather than a format limitation.

Where the file model still gives ground is the shape of the history. OneDrive versioning keeps a series of saved states, so you can go back to 4:15pm. A Sheet's history is a continuous stream of individual attributed edits, so you can ask who changed this cell and when. For anything where accountability per value matters — the exact question behind pay-review controls — that is a materially different capability, not a nicer interface.

Why each round trip costs something

Converting is not copying. Excel and Google Sheets hold different sets of concepts, so a conversion is a translation, and anything with no equivalent on the far side gets approximated or dropped. Nothing restores what a previous translation removed, which is why losses compound rather than repeat.

Travels cleanlyDegradesDoes not survive
Cell values and data typesCustom number formatsVBA macros
Standard formulasComplex conditional formattingPower Query steps
Ordinary pivot tablesSlicers and timelinesPower Pivot data models
Standard chartsChart styling and some chart typesApps Script (going the other way)
Data validationEmbedded objects and shapesQUERY, IMPORTRANGE, GOOGLEFINANCE (going the other way)
Named rangesComments and threaded notesForm links, protected-range rules

The rule of thumb that predicts almost all of this: anything typed into a cell probably survives, anything configured in a dialog probably does not, and anything written in code definitely does not.

Two asymmetries are worth knowing. Excel to Sheets loses more, because Excel simply has more machinery that Sheets has no home for. And in the other direction the casualties are specifically the Google-only functions — every QUERY, IMPORTRANGE, GOOGLEFINANCE and ARRAYFORMULA arrives in Excel as an error with no automatic substitute. A Sheet built without those exports to .xlsx with mostly cosmetic differences.

The practical damage is rarely the first conversion. It is the file that bounces — exported to Excel for a board pack, re-uploaded for the team to update, exported again next quarter. Each pass sheds a little, nobody is watching, and the loss surfaces as a wrong number rather than as an error. Convert once, deliberately, then commit to a side.

Doing each conversion with the least loss

Excel to Google Sheets. Upload to Drive, then File → Save as Google Sheets rather than working on the uploaded file in Office compatibility mode, which is a half-state that pleases nobody. Before you do: note every macro and Power Query step somewhere outside the file, because they will be gone and you will not be told. After: check any date column, spot-check totals against the original, and look specifically at conditional formatting rules.

Google Sheets to Excel. File → Download → Microsoft Excel (.xlsx). Before you do: search the Sheet for IMPORTRANGE, QUERY, GOOGLEFINANCE and IMPORTHTML, and convert those results to static values if the Excel version needs to work. After: check for #NAME? errors, which is how Excel reports a function it has never heard of.

When you only need the numbers. Export CSV and accept the loss on purpose. A deliberate, complete loss of formatting and formulas is far easier to reason about than a partial, silent one — and if something downstream only wants values, the fidelity question disappears entirely.

Rebuilding a formula that did not survive the conversion?

Describe what the original did in plain English and XLsheetAI writes the Excel equivalent, explains each argument, and lets you practise it — including the Google-only functions like QUERY and ARRAYFORMULA that arrive as errors.

Download on the App StoreGet it on Google Play

Different ceilings, counted differently

The limits are not comparable units, which causes a specific and avoidable surprise.

Excel gives every worksheet 1,048,576 rows and 16,384 columns, fixed since the .xlsx format arrived. Google caps a whole spreadsheet at 10 million cells or 18,278 columns.

Per sheet versus across the file is the trap. A 20-column table in Sheets runs out at roughly 500,000 rows. A 40-column export dies around 250,000. Teams who read "10 million" as "10 million rows" discover this on their first real dataset, usually mid-migration. And both slow down long before their ceilings — Sheets in a browser, where you cannot add hardware, and Excel on a machine you can upgrade.

Choosing which one is the artefact of record

This is the decision that actually matters, and it is not about which product is better. It is about what the thing has to be.

The .xlsx should be authoritative when something other than a person consumes it — an upload endpoint, an import routine, a payroll system. When the artefact itself must be fixed, hashable and archivable: regulatory filings, audit packs, contract schedules. When it depends on VBA, Power Query or Power Pivot. When it has to work with no network. Or when you need to hand someone a spreadsheet that will still open in a decade.

The Sheet should be authoritative when several people update it routinely, when you need per-cell attribution of who changed what, when the readers are outside your organisation and you do not want to manage attachments, or when most editing happens on phones.

The failure to avoid is treating both as authoritative at once. A Sheet the team edits and an .xlsx that finance updates guarantees divergence, and the divergence is discovered late and by accident. Pick one as the source of truth and make the other an explicitly disposable export — regenerated, never edited, ideally with a generated-on date written into cell A1 so nobody mistakes a stale snapshot for the live record.

For the product-level decision, see Excel vs Google Sheets. If a converted file has left you with broken formulas or misread dates, cleaning messy data covers fixing a column at a time, and dynamic arrays covers the modern Excel functions that replace many Google-only ones.

FAQ

What is the difference between an XLSX file and a Google Sheet?

They are not the same kind of thing. An .xlsx is a file: a ZIP archive of XML documents sitting on a disk, which you can copy, email, hash or attach to a contract. A Google Sheet is not a file at all. It is structured data held in Google's storage and addressed by a URL, and the .xlsx you download from it is generated at the moment you ask for it. That is why you can have two different .xlsx files of the same workbook but only ever one live Google Sheet.

What is actually inside an .xlsx file?

A ZIP archive of XML files. Rename any .xlsx to .zip and open it, and you will find xl/workbook.xml listing the sheets, one XML file per worksheet under xl/worksheets, xl/sharedStrings.xml holding every distinct piece of text once, and xl/styles.xml holding the formatting. The format is Office Open XML, standardised as ECMA-376 and ISO/IEC 29500. Nothing is hidden or proprietary about the container itself.

How does real-time collaboration differ from sharing an Excel file?

There are three distinct situations people all call sharing. An emailed .xlsx attachment gives every recipient their own separate copy, so the versions fork immediately and merging them is manual. An .xlsx stored in OneDrive or SharePoint supports genuine co-authoring, because everyone is opening one file through a service that reconciles edits. A Google Sheet has no file to fork, so every edit is applied to the single authoritative copy as it is typed. The middle case is the one people underestimate, and the difference between it and the first case is where the file lives, not what format it is.

Does converting XLSX to Google Sheets lose data?

Values and ordinary formulas survive. What does not survive is anything that was not typed into a cell: VBA macros are dropped, Power Query steps and Power Pivot data models do not come across, and slicers, custom number formats and complex conditional formatting often degrade. The useful rule of thumb is that anything typed into a cell probably survives, anything configured in a dialog probably does not, and anything written in code definitely does not.

Why does a spreadsheet get worse every time it is converted?

Because each conversion is a translation between two different data models, not a copy. Excel and Google Sheets do not hold the same set of concepts, so anything with no equivalent on the other side is approximated or dropped, and a translation never restores what a previous one removed. Two round trips therefore do not return the original workbook, and the losses are usually cosmetic at first and structural by the third pass. Convert once, deliberately, then commit to whichever side you landed on.

When do you actually need an .xlsx rather than a Google Sheet?

Whenever something other than a person has to consume it, or when the artefact itself matters rather than its current contents. Systems that ingest uploads want a file. Regulatory filings, audit packs and contract schedules need a fixed artefact that can be hashed, signed and archived unchanged. Anything depending on VBA, Power Query or Power Pivot needs Excel. And anything that has to work with no network needs a local file.