All systems

Lotus 1-2-3

Lotus 1-2-3 spreadsheets
Supported

Prepare

  1. Upload Lotus 1-2-3 files
Guide

Lotus 1-2-3 is a legendary spreadsheet application that was frequently used as a data store. It represents data as cells in worksheets.

What You Can Upload

  • .wks files (Lotus 1-2-3 Release 1/1A)
  • .wk1 files (Lotus 1-2-3 Release 2)
  • .wk3 files (Lotus 1-2-3 Release 3)
  • .wk4 files (Lotus 1-2-3 Release 4-5)
  • Symphony .wrk/.wr1 files
  • ZIP archive with multiple files

What You Get Out

DataMeans extracts your data into multiple modern formats:

OutputDescription
csv/{TableName}.csvOne CSV file per table with all row data
xlsx/{TableName}.xlsxExcel workbook per table
xls/{TableName}.xlsLegacy Excel format per table
json/{TableName}.jsonJSON array of records per table
json/{TableName}.jsonlNewline-delimited JSON (streaming-friendly)
postgres.sqlPostgreSQL CREATE TABLE + INSERT statements
schema/schema-graph.jsonRelationship graph for visualization
schema/er-model.jsonER model for diagram tools
report.jsonStructured extraction report
report.mdHuman-readable extraction summary

How to Export / Obtain Files

  1. Locate your Lotus 1-2-3 files
  2. Upload directly or in a ZIP archive
  3. No special export needed

Supported Features

  • Cell-by-cell data extraction
  • Named range identification
  • Multiple worksheet support
  • Numeric and text cell types
  • Date value conversion
  • Simple table detection

Known Limitations

  • Formulas exported as calculated values
  • Charts and macros not extracted
  • Structure inferred from cell layout (not normalized)
  • Very complex layouts may need manual review

Last updated: January 2026

Technical reference

Overview

Lotus 1-2-3 is a discontinued spreadsheet application that was the first "killer app" for the IBM PC, revolutionizing personal computing by making spreadsheets accessible to business users. Originally developed by Lotus Development Corporation, it combined spreadsheet calculations, charting, and basic database functionality into an integrated package. Lotus Development was acquired by IBM in 1995, and 1-2-3 was officially discontinued in 2013.

History and Background

  • 1982: Lotus Development Corporation founded by Mitch Kapor and Jonathan Sachs. Kapor had previously created VisiPlot and VisiTrend for the distributor of VisiCalc; Sachs had worked at Data General and Concentric Data Systems.
  • January 26, 1983: Lotus 1-2-3 Release 1 released, priced at $495. It sold 175,000 copies in its first year and quickly displaced VisiCalc as the dominant spreadsheet application.
  • 1985: Release 2 introduced an advanced macro command language, add-in support, and expanded memory support.
  • 1989: Release 3 added 3D worksheets, support for multiple open files, and use of extended memory.
  • 1990: Lotus won its three-year copyright suit against Paperback Software International and Mosaic Software, publishers of the 1-2-3 clones VP-Planner and The Twin.
  • 1991: 1-2-3/W Release 1, the first version for Microsoft Windows, shipped.
  • 1993: Release 4 for Windows added groupware capabilities, improved integration with Lotus Notes, and in-cell editing.
  • 1994: Release 5 for Windows added chart maps and improved database access.
  • 1995: IBM acquired Lotus for $3.5 billion, primarily for Notes but including 1-2-3.
  • 1996: Lotus v. Borland, a six-year suit over Quattro Pro's copying of the 1-2-3 menu command hierarchy, ended when a 4-4 Supreme Court affirmed that the menu hierarchy was an uncopyrightable method of operation.
  • 2013: Lotus 1-2-3 discontinued after 30 years; support ended on September 30, 2014.

File Format Specifications

Lotus 1-2-3 uses a proprietary binary file format organized as an unbroken sequence of variable-length records. Each record consists of a 4-byte header followed by the record body. The header contains the record type code (2 bytes) and the record body length (2 bytes), both stored in little-endian byte order.

File Extensions:

  • .WKS - Releases 1 and 1A
  • .WK1 - Release 2.x
  • .WK3 - Release 3.x
  • .WK4 - Releases 4 and 5 for Windows
  • .123 - 1-2-3 97 Edition and later

Record Structure:

  • Header: 4 bytes (2-byte record type code + 2-byte body length)
  • Body: Variable length based on record type
  • Records are stored sequentially without index
  • File starts with BOF (Beginning of File) record and ends with EOF (End of File) record
  • BOF format revision numbers identify the generation: 0x0404 (.WKS), 0x0406 (.WK1), 0x1000 (.WK3), and 0x1002 (.WK4); the BOF body grows from 2 bytes in .WKS/.WK1 to 26 bytes in .WK3/.WK4
  • Cell records share a 5-byte body prefix: a 1-byte format byte, a 2-byte column number, and a 2-byte row number, followed by the cell value
  • The format byte stores cell protection in bit 7, the display format type (Fixed, Scientific, Currency, Percent, Comma, or Special) in bits 4-6, and the decimal-place count in bits 0-3
  • Special display formats carry date and time picture codes as well as Text and Hidden cell settings in the low 4 bits
  • LABEL record bodies begin with an alignment prefix character: ' (left), " (right), or ^ (centered)

Key Record Types:

  • 0x00: BOF (beginning of file; 2-byte format revision number)
  • 0x01: EOF (end of file marker)
  • 0x06: RANGE (worksheet range record; 8-byte body)
  • 0x0B: NAME (named range)
  • 0x0C: BLANK (empty formatted cell)
  • 0x0D: INTEGER (integer cell value)
  • 0x0E: NUMBER (floating-point cell value)
  • 0x0F: LABEL (text label cell)
  • 0x10: FORMULA (calculated cell)

Data Types and Structures

TypeDescriptionStorage
BLANKEmpty cell carrying only display formattingFormat byte plus 2-byte column and row coordinates; no value
INTEGERWhole numbers from -32767 to +327672 bytes (signed, little-endian)
NUMBERFloating-point numeric values8 bytes (IEEE 754 double)
LABELText labels up to 240 charactersNULL-terminated ASCII string
FORMULAMathematical expressionsCompiled RPN bytecode plus 8-byte cached result
DATEDate valuesSerial day number (day 1 = January 1, 1900)
TIMETime valuesFractional days
RANGECell rangesFour 2-byte column/row coordinates

Spreadsheet Structure:

  • Grid-based layout with 256 columns (A-IV); 2,048 rows in Release 1, expanded to 8,192 rows in Release 2
  • Cells identified by coordinates (e.g., A1, B2); numbering in the file starts at column 0, row 0
  • Built-in functions begin with the @ symbol (@SUM, @AVG, etc.)
  • Supports absolute ($A$1) and relative (A1) references
  • Macros recorded as keystroke sequences; Release 2 added a macro command language comparable in complexity to a BASIC interpreter

Version Differences

VersionYearKey FeaturesFile Format
1-2-3 Release 11983Spreadsheet, charting, database functions.WKS
1-2-3 Release 1A1983Official ASCII support; unofficial IBM extended character set support.WKS (no format change)
1-2-3 Release 21985Macro command language, add-ins.WK1 (new format)
1-2-3 Release 2.011986Option to switch between LICS and the IBM extended character set.WK1 (no format change)
1-2-3 Release 2.21989Improved speed, automated macro tools, presentation-quality graphics.WK1 (no format change)
1-2-3 Release 319893D worksheets, multiple open files.WK3 (new format)
1-2-3 Release 3.11990WYSIWYG display; worksheets up to 64 MB via disk swapping.WK3 (no format change)
1-2-3 Release 2.31991WYSIWYG editing for the 2.x line.WK1 (no format change)
1-2-3 Release 2.41992Icons and additional tools.WK1 (no format change)
1-2-3 Release 4 (Windows)1993Groupware features, in-cell editing.WK4 (new format)
1-2-3 Release 5 (Windows)1994Chart maps, improved database access.WK4 (no format change)
1-2-3 971997First 32-bit version, LotusScript.123 (new format)
1-2-3 Millennium (Release 9)1998Internet and intranet publishing tools.123 (no format change)
1-2-3 Millennium 9.82002Final release of the product line.123 (no format change)

Compatibility Notes:

  • Most major releases introduced a new file format; older releases cannot open the newer formats
  • Lotus published the Release 1/1A worksheet file format documentation in 1984, enabling third-party tools to read and write worksheet files
  • Lotus Symphony used a closely related record format; Symphony could read 1-2-3 records, but 1-2-3 could not read Symphony-specific records
  • Older versions of Microsoft Excel could open Lotus worksheet files; Excel 2010 removed support for the formats
  • 1-2-3's serial date system incorrectly treats 1900 as a leap year; Microsoft Multiplan and Excel deliberately adopted the same assumption so their serial dates would match 1-2-3 worksheets, and Excel retains the behavior
  • Apache OpenOffice and LibreOffice retain import support for .WKS, .WK1, and .123 files
  • The UK National Archives' PRONOM registry catalogues the worksheet generations under separate identifiers (x-fmt/117 for .WKS, x-fmt/114 for .WK1, x-fmt/115 for .WK3, x-fmt/116 for .WK4), distinguished by their BOF signatures

Technical References


To learn how to use this format with DataMeans, see the User Guide.