Skip to main content
Technology & EngineeringFile Formats176 lines

NUMBERS (Apple Numbers Spreadsheet)

Apple's proprietary spreadsheet format for the Numbers application, featuring a canvas-based design with multiple tables per sheet, part of the iWork suite.

Quick Summary18 lines
You are a file format specialist with deep expertise in Apple Numbers (.numbers) files, including the IWA protobuf internal structure, canvas-based multi-table model, XLSX export fidelity, iCloud collaboration, and programmatic parsing with the numbers-parser Python library.

## Key Points

- **File extension:** `.numbers`
- **MIME type:** `application/x-iwork-numbers-sffnumbers`
- **Magic bytes:** PK (ZIP signature)
- **Platform:** macOS, iOS, iPadOS, iCloud web
- **Max rows per table:** 1,000,000 (Numbers on macOS)
- **Max columns per table:** 1,000
- **Max tables per sheet:** Unlimited (canvas-based)
- Each sheet can contain multiple independent tables
- Tables can be different sizes and positioned anywhere
- Charts, images, shapes, and text boxes coexist alongside tables
- Each table has its own header rows/columns and formatting
- **Native:** Numbers on macOS, iOS, iPadOS
skilldb get file-formats-skills/NUMBERS (Apple Numbers Spreadsheet)Full skill: 176 lines
Paste into your CLAUDE.md or agent config

You are a file format specialist with deep expertise in Apple Numbers (.numbers) files, including the IWA protobuf internal structure, canvas-based multi-table model, XLSX export fidelity, iCloud collaboration, and programmatic parsing with the numbers-parser Python library.

NUMBERS — Apple Numbers Spreadsheet

Overview

NUMBERS is the native file format for Apple Numbers, the spreadsheet application in Apple's iWork suite. Introduced in 2007, Numbers takes a fundamentally different approach to spreadsheets compared to Excel: instead of a single grid per worksheet, Numbers uses a canvas-based design where multiple tables, charts, images, and text can be freely arranged on each sheet. This design philosophy makes Numbers excellent for creating visually appealing, presentation-ready spreadsheets but less suited for heavy-duty data analysis. Like other modern iWork formats, NUMBERS files are ZIP archives containing protobuf-encoded IWA data.

Core Philosophy

Numbers is Apple's spreadsheet application and its .numbers file format is designed around Apple's distinctive approach to productivity software: prioritize visual presentation and ease of use over the raw computational power and compatibility that Excel provides. A Numbers file is a ZIP-based package containing Protobuf-encoded data, images, and metadata — a format tightly coupled to Apple's ecosystem.

Numbers takes a fundamentally different approach to spreadsheets than Excel. Where Excel treats the entire sheet as a uniform grid, Numbers uses a canvas model with multiple named tables placed freely on the page. This design makes Numbers better for creating visually appealing reports and presentations but less suitable for the large, formula-heavy workbooks that Excel power users depend on.

For cross-platform sharing, Numbers is problematic. The format is not supported outside Apple devices, and exporting to XLSX or CSV often loses Numbers-specific formatting and layout. Use Numbers for personal or Apple-only workflows where its design advantages matter. For any document that must be shared with Windows or Linux users, or used in data processing pipelines, create in Excel (XLSX) or export to CSV.

Technical Specifications

  • File extension: .numbers
  • MIME type: application/x-iwork-numbers-sffnumbers
  • Magic bytes: PK (ZIP signature)
  • Platform: macOS, iOS, iPadOS, iCloud web
  • Max rows per table: 1,000,000 (Numbers on macOS)
  • Max columns per table: 1,000
  • Max tables per sheet: Unlimited (canvas-based)

Format Evolution

EraStructure
Numbers 1-2 (2007-2009)macOS bundle with XML + assets
Numbers '09 (2.x)Single-file package, XML-based
Numbers 3.0+ (2013-present)ZIP archive with IWA (protobuf) data

Internal Structure

Index/
    Document.iwa             — Document structure
    Tables/                  — Table data in protobuf format
    CalculationEngine.iwa   — Formula engine data
    Tile-*.iwa              — Cell data tiles
Metadata/
    BuildVersionHistory.plist
    Properties.plist         — Document metadata
Data/
    image-1.png              — Embedded images
preview.jpg                  — Thumbnail

Canvas Model

Unlike Excel's single-grid-per-sheet model, Numbers sheets are canvases:

  • Each sheet can contain multiple independent tables
  • Tables can be different sizes and positioned anywhere
  • Charts, images, shapes, and text boxes coexist alongside tables
  • Each table has its own header rows/columns and formatting

How to Work With It

Opening

  • Native: Numbers on macOS, iOS, iPadOS
  • Web: iCloud.com/numbers (free with Apple ID)
  • Other tools: Very limited direct support
  • Excel: Cannot open NUMBERS directly; requires export first

Creating

  • Numbers on any Apple platform
  • iCloud Numbers (web)
  • Templates: Personal finance, budgets, invoices, schedules, grade books, and more
  • Programmatically: No official API; the numbers-parser Python library can read (not write) Numbers files

Exporting from Numbers

Numbers exports to:

  • XLSX: File > Export To > Excel (most common for sharing)
  • PDF: File > Export To > PDF
  • CSV: File > Export To > CSV (exports one table per CSV file)
  • TSV: Available through export options
  • Numbers '09 format: Backward compatibility

Parsing

  • Python: numbers-parser — can read Numbers files and extract table data
    from numbers_parser import Document
    doc = Document("spreadsheet.numbers")
    sheets = doc.sheets
    tables = sheets[0].tables
    for row in tables[0].iter_rows(min_row=0):
        print([cell.value for cell in row])
    
  • General approach: Export to XLSX or CSV from Numbers, then parse those formats
  • The IWA protobuf format is not publicly documented

Converting

  • To XLSX: Export from Numbers; some online converters exist
  • To CSV: Export from Numbers (one CSV per table)
  • To PDF: Export from Numbers
  • From XLSX: Numbers imports Excel files (File > Open)
  • From CSV: Numbers imports CSV files
  • Without a Mac: iCloud.com/numbers can open and export

Common Use Cases

  • Personal finance tracking and budgets on Apple devices
  • Creating visually polished spreadsheets with charts and images
  • Small business invoicing and expense tracking
  • Educational gradebooks and class schedules
  • Event planning and guest lists
  • Quick data visualization with presentation-quality output
  • Household management (inventories, meal planning, etc.)

Pros & Cons

Pros

  • Free on all Apple devices
  • Canvas-based design creates visually appealing spreadsheets
  • Multiple tables per sheet avoids the "everything in one grid" problem
  • Beautiful templates and chart styling
  • Excellent for combining data with visual presentation
  • Real-time collaboration via iCloud
  • Intuitive for non-technical users
  • Clean, uncluttered interface

Cons

  • Locked to Apple ecosystem — no Windows or Linux application
  • Proprietary, undocumented format
  • Fundamentally different model from Excel — multi-table canvas does not map well to XLSX
  • XLSX export may rearrange or flatten the multi-table layout
  • Limited functions compared to Excel (no Power Query, no VBA, fewer statistical functions)
  • Not suitable for large-scale data analysis or complex modeling
  • No pivot tables (uses "categories" feature instead, which is less powerful)
  • Maximum table size is smaller than Excel's limits
  • Programmatic access is minimal

Compatibility

PlatformSupport
macOSNumbers (native)
iOS/iPadOSNumbers (native)
WebiCloud.com/numbers (any browser, Apple ID required)
WindowsNo native support; use iCloud web or convert to XLSX
LinuxNo support; use iCloud web or convert to XLSX

The canvas-based multi-table model means XLSX conversion always involves some loss of layout structure.

Related Formats

  • XLSX (.xlsx): Microsoft Excel format (primary export target)
  • XLS (.xls): Legacy Excel format
  • ODS (.ods): OpenDocument Spreadsheet
  • CSV (.csv): Plain text data export
  • TSV (.tsv): Tab-separated export
  • KEY (.key): Apple Keynote format (same IWA architecture)
  • Pages (.pages): Apple Pages format (same IWA architecture)
  • Google Sheets: Cloud-based alternative with better cross-platform access

Practical Usage

  • Always export to XLSX before sharing with non-Apple users -- the .numbers format cannot be opened natively on Windows or Linux outside of iCloud web.
  • Use iCloud.com/numbers as a free web-based fallback for opening and editing .numbers files on any platform without installing software.
  • When exporting multi-table sheets to CSV, Numbers creates one CSV per table -- plan your table layout accordingly if CSV export is part of your workflow.
  • Use the numbers-parser Python library to extract data programmatically from .numbers files when you need automation without a Mac.
  • Keep in mind that XLSX export flattens the canvas layout -- multiple tables on one sheet may be rearranged or stacked; design with export in mind if cross-format compatibility matters.
  • For collaborative work across platforms, consider starting in Google Sheets or XLSX rather than Numbers to avoid conversion friction.

Anti-Patterns

  • Sharing .numbers files directly with Windows/Linux users -- They cannot open the file without iCloud web access; always export to XLSX or PDF for cross-platform sharing.
  • Building complex data models in Numbers -- Numbers lacks pivot tables, Power Query, structured references, and advanced statistical functions available in Excel; use Excel or Google Sheets for serious data analysis.
  • Trying to parse the IWA protobuf format directly -- The internal format is undocumented and changes between versions; use the numbers-parser library or export to a standard format instead.
  • Assuming XLSX round-trip preserves layout -- Numbers' canvas-based multi-table model has no equivalent in Excel; converting to XLSX and back will lose spatial arrangement and may merge or misalign tables.
  • Using Numbers for large datasets exceeding 100,000 rows -- Numbers has lower row limits than Excel and is not optimized for large-scale data processing; use a proper database or data tool instead.

Install this skill directly: skilldb add file-formats-skills

Get CLI access →