The basics
What is a Numbers file?
A .numbers file is a document from Numbers, Apple's spreadsheet app, which comes free with every Mac, iPhone and iPad and also runs in a browser as Numbers for iCloud. It holds sheets with tables, formulas, charts, text, images and comments, much like an Excel workbook, but organised differently and stored in a format only Apple's apps fully understand.
Numbers 1.0 shipped in 2007. With Numbers 3.0 in 2013, Apple moved Numbers, Pages and Keynote to a new storage format based on IWA files. That format, updated over the years, is what current versions still use: Numbers 15 is the current major version, and files saved by Numbers 15 and 14 open in either.
Three things a Numbers file is not:
- Not an Excel file. Excel, Google Sheets and most other programs can't open
.numbersfiles. To share with them, export to XLSX, CSV or PDF. - Not an open format. Apple publishes no specification. Everything known about the inside comes from reverse engineering.
- Not always a single file. A Numbers document can also be saved as a package: a folder that a Mac shows as one file. Packages break easily when emailed or uploaded through a browser.
Anatomy
What's inside a Numbers file
A .numbers file saved as a single file is a ZIP archive. Inside are dozens of .iwa files (iWork Archive), a few property lists and preview images. Apple doesn't publish the format; what follows is the structure of our sample-workbook.numbers, decoded with the help of reverse-engineering notes from the SheetJS and numbers-parser projects.
sample-workbook.numbers (a single ZIP file, 101,035 bytes, 60 entries)
offset 0: 50 4B 03 04 … "PK", a ZIP local file header
$ unzip -l sample-workbook.numbers (abridged)
7214 Index/Document.iwa the document: sheets, tables
4362 Index/CalculationEngine.iwa
45318 Index/DocumentStylesheet.iwa cell, text and table styles
17354 Index/Metadata.iwa which object lives in which file
82 Index/AnnotationAuthorStorage.iwa comment authors
990 Index/Tables/Tile-1000042.iwa a table's cells, row by row
503 Index/Tables/DataList-1000021.iwa a table's strings and formats
… 47 more .iwa files …
445 Metadata/Properties.plist document IDs, format version
36 Metadata/DocumentIdentifier
341 Metadata/BuildVersionHistory.plist which versions saved it
9016 preview.jpg 720 × 552 thumbnail
879 preview-micro.jpg 53 × 41
1862 preview-web.jpg 225 × 173
Index/Document.iwa, first bytes:
00 2a 1c 00 chunk header: type 0, length 0x001c2a = 7,210
b4 61 Snappy: 12,468 bytes when decompressed
f0 40 Snappy: a literal run of 65 bytes follows
3b Protocol Buffers: a 59-byte ArchiveInfo
08 01 object identifier 1
12 37 MessageInfo, 55 bytes:
08 01 message type 1, the document (TN.DocumentArchive)
12 03 01 00 05 version 1.0.5
18 e6 0b message length 1,510 bytes- 1
50 4B 03 04The ZIP signature
A single-file Numbers document is a ZIP archive, so it starts like an XLSX or any ZIP file. Rename a copy to
.zipand you can open it. In our samples the entries are stored without ZIP compression, because the.iwafiles are already compressed. - 2
Index/Document.iwaThe document
The root object: the list of sheets, and on each sheet the tables, charts, text boxes and images placed on it. Everything else is reached from here by object identifiers.
- 3
00 2a 1c 00An IWA chunk header
Each
.iwafile is a series of chunks: a00byte, then the chunk's length as a 3-byte little-endian number, here 7,210 bytes. This one chunk fills the rest of the file. - 4
b4 61 f0 40Snappy compression
The chunk is compressed with Snappy, a fast compression method from Google.
b4 61is the decompressed size as a varint (12,468 bytes);f0 40starts a run of 65 bytes copied as they are. - 5
3b 08 01 12 37 …Protocol Buffers
Decompressed, the data is a series of Protocol Buffers messages, Google's compact binary encoding. Each object starts with a small header, an
ArchiveInfo, giving its identifier and the type and length of its messages. Type 1 is the document itself. - 6
Index/Tables/Tile-*.iwaThe cells
Table cells are stored in tiles, row by row, as compact binary records. Text and formats sit in separate lists (
DataList-*.iwa) that cells refer to by number, much like shared strings in XLSX. Numbers are stored as 128-bit decimals, not binary floating point. - 7
Index/DocumentStylesheet.iwaStyles
Paragraph, cell and table styles. At 45 KB it's the largest part of our samples: a new document carries the template's full set of styles, so even a nearly empty spreadsheet is around 90 KB.
- 8
Metadata/BuildVersionHistory.plistVersion history
A list of the app versions that saved the document. Ours reads "Template: Blank (11.2)" followed by Numbers 12.0, 13.1 and 14.1 builds: the blank document numbers-parser starts from was last saved by Numbers 14.1.
Properties.plistholds the file format version,14.1.1. - 9
preview.jpgPreview images
Thumbnails in three sizes. They're pictures, not data. In our samples they show the blank template, because numbers-parser doesn't draw new previews; a file saved by Numbers carries previews of its own content.
How Numbers thinks
Tables on a canvas, not one big grid
In Excel, a sheet is one huge grid that starts at A1. In Numbers, a sheet is a blank canvas, and tables are objects placed on it, next to charts, text boxes and images. Apple's guide puts it simply: "You can add as many tables as you want to a sheet." Each table has its own name, its own size and its own A1.
| Numbers | Excel | |
|---|---|---|
| A sheet is | A canvas with any number of tables and other objects | One grid of cells, with charts and shapes floating above it |
| Cell references | Include the table: Table 2::B2, or Sheet 2::Table 1::C2 on another sheet (Apple's examples) | Sheet and cell: Orders!G2 |
| Headers and footers | Part of each table: up to five header rows, five header columns and five footer rows | Ordinary rows, optionally formatted as a table |
| Interactive cells | Checkboxes, star ratings, sliders, steppers and pop-up menus are cell formats | Form controls and data validation lists |
| Empty space | Tables are only as big as they need to be | The grid is always 1,048,576 rows by 16,384 columns |
This is why exporting to Excel asks a question: Numbers can make one Excel worksheet per table, optionally with a summary worksheet that links to all of them, or one worksheet per sheet.
Under the hood
How a Numbers file is stored
Since 2013, Numbers documents are made of IWA (iWork Archive) files, shared with Pages and Keynote. Apple doesn't document them. The SheetJS project, Sean Patrick O'Brien and the authors of keynote-parser and numbers-parser have worked out the structure:
- Each
.iwafile is Snappy-compressed in chunks: a00byte, a 3-byte length, then Snappy data. - Inside are Protocol Buffers messages. The message definitions are compiled into the apps; reverse engineers extract them from the app binaries.
- Objects point to each other by number.
Index/Metadata.iwamaps the document's components to the.iwafiles that hold them, so a reader can find a table's cells without reading everything. - Tables are stored in tiles of rows. Text and formats are kept once per table and referred to by index.
- Numbers are decimal. Current files store cell numbers as 128-bit decimal values, so
0.1is stored exactly, unlike the binary floating point of Excel files.
| Single file (default) | Package | |
|---|---|---|
| What it is | One ZIP file | A folder that macOS shows as one file |
| Good for | Email, uploads, cloud services used through a browser | Very large documents, and documents edited on a Mac's own disk or in iCloud Drive |
| Risk | Can get slow with very large documents | Damaged when emailed or uploaded through a browser, which sees a folder |
You can switch between the two at any time in Numbers on a Mac: File, Advanced, Change File Type. Numbers may suggest a package for documents over 500 MB on disks that don't use APFS.
No Mac?
How to open a Numbers file on Windows, Android or Linux
- 1Use Numbers for iCloud. Go to iCloud.com in a browser on Windows or any computer, sign in with an Apple Account (creating one is free), open Numbers and upload the file. You can view and edit it there, then download a copy as Excel, PDF, CSV or Numbers.
- 2Ask the sender to export it. In Numbers: File, Export To, Excel (or CSV or PDF). This is the most reliable route, because the person exporting can check the result.
- 3Look at the preview, as a last resort. Rename a copy to
.zip, open it, and openpreview.jpg. It's only a small picture of the spreadsheet, not the data, and it may not show everything.
LibreOffice can import some Numbers files through its libetonyek library, but don't count on it for current files. When we opened our samples in LibreOffice 24.2, it recreated each table as a sheet with the right size and column widths, but every cell was empty.
How to
How to export or convert a Numbers file
| Format | What you get |
|---|---|
| Excel | An .xlsx workbook, with one worksheet per table (optionally with a summary worksheet) or one per sheet. |
| CSV | Comma-separated text: one file per table, or all tables in one file, optionally with table names. |
| TSV | The same, separated by tabs. |
| Pages for printing or reading, with options for page layout, image quality and comments. | |
| Numbers '09 | A file for Numbers 2.0 to 2.3. Large spreadsheets may fail to export in this format. |
- In Numbers for iCloud: download a copy as Numbers, PDF, Excel or CSV. With CSV, each sheet becomes a separate file.
- Passwords carry over: exporting a password-protected spreadsheet to PDF, Excel or Numbers '09 keeps the password unless you change or remove it in the export dialog.
- What can change in Excel: tables become ranges on worksheets, and Numbers features without an Excel equivalent can't come along as they are. Check formulas and totals after exporting.
- From Excel to Numbers: open the
.xlsxin Numbers with File, Open, then save it as a Numbers spreadsheet. - With code: numbers-parser, an open-source Python library, reads and writes
.numbersfiles, and itscat-numberscommand converts them to CSV. It can't write formulas.
Troubleshooting
Common Numbers file problems
- Excel or Google Sheets can't open it. Neither reads
.numbersfiles. Convert it through Numbers or iCloud.com first. - The attachment arrived as a folder, a ZIP or a broken file. The document was saved as a package. Ask the sender to choose File, Advanced, Change File Type, Single File, and send it again.
- Windows shows an unknown file type. Windows has no program for
.numbers. Use iCloud.com, or ask for an XLSX. - It asks for a password. Numbers documents can be encrypted, and without the password the contents can't be read. Ask the author for it, or for an unprotected export.
- Totals look different after exporting. Some Numbers features have no exact equivalent in Excel or CSV. Compare a few totals with the original.
- It won't open in an older Numbers. A file from a much newer version can use features an old app doesn't know. Update Numbers, or ask for a copy exported as XLSX.
Security
Is a Numbers file safe to open?
Numbers has no macro language inside documents, so a .numbers file can't carry VBA-style macros the way Excel files can. That removes the main risk of spreadsheet attachments. A few things are still worth knowing:
- Preview images show content. The
preview.jpgfiles inside an unencrypted document are pictures of the spreadsheet. Anyone who unzips the file can see them. - Comments and author names travel with the file, as do hidden rows, columns and filtered-out data.
- Password hints are not secret. In our password-protected sample, the hint is stored as plain text in a
.iwphentry, next to a.iwpv2entry that lets an app check the password. Don't put the password in the hint, as we did for this test file. - Links in cells and text can point anywhere. Check where they go before clicking.
- Parsing uploads on a server. A Numbers file is a ZIP of compressed binary data, so a server that reads uploaded files inherits ZIP risks such as archive bombs. Limit file size and decompressed size, and use a maintained library.
Free downloads
Sample Numbers files to download
Free sample .numbers files for testing uploads, converters and file-type detection. We made them with numbers-parser, an open-source Python library (MIT licence) that builds documents from a blank Numbers document, not with Numbers itself. Each one was read back with numbers-parser and every cell checked. numbers-parser can't write formulas, so totals are plain values.
Browsers can't show this kind of file in a page. Download it to open it in the app it belongs to.
What's inside sample-workbook.numbers
Browsers can't preview Numbers files, so download it and open it in Numbers on a Mac, iPhone or iPad, or upload it to Numbers at iCloud.com. It holds the same orders as our sample XLSX, so you can compare the two.
Two tables on one sheet
The Orders sheet holds two tables side by side: Orders on the left and By product to its right. In Excel this would be one grid; in Numbers they're separate objects you can drag around.
Headers
Orders has one header row and no header column; By product has a header row and a header column with the product names.
Text, dates and euros
Order IDs are text, so
000184keeps its zeros. Dates use the formatyyyy-MM-dd, and prices and line totals the euro currency format.Checkbox cells
The Shipped column uses the checkbox cell format (numbers-parser calls it a tickbox): eight orders ticked, four not.
Totals as values
The bold totals row, under a 1 pt top border, holds 39 items and €255.07. They're stored values, not formulas.
Caption
A caption under the Orders table says the data is fictional.
About sheet
A title cell merged across two columns, notes on how the file was made, a date formatted as
d MMMM yyyy, and a comment on cell B2 by "99helpers".
All sample Numbers files
Sample spreadsheet
sample-workbook.numbers · 98.7 KB (101,035 bytes)
Two sheets and three tables: twelve fictional orders with text IDs, dates, euro amounts and checkboxes, a summary table on the same canvas, and an About sheet with a merged cell and a comment. Saved as a single file.
- Testing converters and file-type detection
- Trying the Windows routes: iCloud.com and export
Minimal Numbers file
sample-minimal.numbers · 90.8 KB (93,000 bytes)
One sheet, one table: two items, their prices, a total and a note. Most of its 93 KB is the template's stylesheet, metadata and preview images.
- Smoke tests for Numbers readers
- Seeing what a near-empty document contains
Password-protected Numbers file (password: 99helpers)
sample-password.numbers · 102.1 KB (104,510 bytes)
The sample spreadsheet, encrypted with the password
99helpers. The.iwaentries are encrypted;.iwphholds the hint and.iwpv2the data used to check the password.- Testing how uploads and converters handle encrypted documents
- Checking password prompts and error messages
Ways to test with them
- File-type detection: these files start with
PK, so a check based on the first bytes calls them ZIP archives. Look forIndex/Document.iwainside to recognise a Numbers document. - Conversion: upload
sample-workbook.numbersto Numbers at iCloud.com and download it as Excel. The Orders total should still be €255.07, and you should see how the two tables on one sheet were arranged. - Reading in code:
cat-numbers -T sample-workbook.numbers(from numbers-parser) lists the three tables: Orders, By product and About this file. Without-Tit prints every row as CSV; the Orders total row ends in255.07. - Encrypted files: numbers-parser refuses
sample-password.numberswithout a password ("No password provided to decrypt document"); your import should report that clearly.
Free to use for testing, teaching and demos, commercially or not, with no attribution needed. A link back to this page is always appreciated.
Put it online
Have a Numbers file? Give it a link.
Drop a Numbers spreadsheet on 99helpers and it gets its own web address. Browsers can't display .numbers files, so anyone with the link downloads it and opens it in Numbers or at iCloud.com. Save it as a single file first, not a package.
Questions
Numbers files, frequently asked
What is a .numbers file?
A spreadsheet made with Apple Numbers, the free spreadsheet app on Mac, iPhone and iPad. It holds sheets with tables, formulas, charts and comments, stored as a ZIP of compressed binary archives.
How do I open a Numbers file on Windows?
Sign in at iCloud.com with an Apple Account, open Numbers and upload the file. You can view and edit it there, or download it as an Excel, PDF or CSV file. Alternatively, ask the sender to export it to Excel.
Can Excel open a Numbers file?
No. Excel doesn't read .numbers files. Convert the file to XLSX in Numbers (File, Export To, Excel) or at iCloud.com first.
Can Google Sheets open Numbers files?
No, .numbers isn't among the file types Google Sheets imports. Export the file to XLSX or CSV, then upload that.
How do I convert Numbers to Excel?
In Numbers on a Mac, choose File, Export To, Excel, and pick one worksheet per table or one per sheet. At iCloud.com, download a copy of the spreadsheet as Excel.
Is Apple Numbers free?
Yes. Numbers is free on Mac, iPhone and iPad, and in a browser at iCloud.com. Since early 2026, an optional Apple Creator Studio subscription adds extra templates, content and AI features.
Why is my Numbers file a folder?
It was saved as a package, a folder that macOS shows as one file. Open it in Numbers and choose File, Advanced, Change File Type, Single File before emailing or uploading it.
Can a Numbers file contain a virus?
Numbers documents can't contain macros, which is how most spreadsheet malware works. They can still contain links, so be careful with files you didn't expect, as with any attachment.
Related formats
Other file types explained
Keep going
Related
Sources
- Apple: Save a document as a package or a single file in Pages, Numbers or Keynote
- Apple: Export to Excel or another file format in Numbers on Mac
- Apple: Add or delete a table in Numbers on Mac
- Apple: Download spreadsheets from Numbers for iCloud
- SheetJS: iWork 2013+ (IWA) format notes, from reverse engineering
- TidBITS: Pages, Keynote, and Numbers 15 go freemium (February 2026)
Last reviewed 27 October 2026.