Prepare
- Upload Lotus 1-2-3 files
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
.wksfiles (Lotus 1-2-3 Release 1/1A).wk1files (Lotus 1-2-3 Release 2).wk3files (Lotus 1-2-3 Release 3).wk4files (Lotus 1-2-3 Release 4-5)- Symphony
.wrk/.wr1files - ZIP archive with multiple files
What You Get Out
DataMeans extracts your data into multiple modern formats:
| Output | Description |
|---|---|
csv/{TableName}.csv | One CSV file per table with all row data |
xlsx/{TableName}.xlsx | Excel workbook per table |
xls/{TableName}.xls | Legacy Excel format per table |
json/{TableName}.json | JSON array of records per table |
json/{TableName}.jsonl | Newline-delimited JSON (streaming-friendly) |
postgres.sql | PostgreSQL CREATE TABLE + INSERT statements |
schema/schema-graph.json | Relationship graph for visualization |
schema/er-model.json | ER model for diagram tools |
report.json | Structured extraction report |
report.md | Human-readable extraction summary |
How to Export / Obtain Files
- Locate your Lotus 1-2-3 files
- Upload directly or in a ZIP archive
- 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
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/.WK1to 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
| Type | Description | Storage |
|---|---|---|
| BLANK | Empty cell carrying only display formatting | Format byte plus 2-byte column and row coordinates; no value |
| INTEGER | Whole numbers from -32767 to +32767 | 2 bytes (signed, little-endian) |
| NUMBER | Floating-point numeric values | 8 bytes (IEEE 754 double) |
| LABEL | Text labels up to 240 characters | NULL-terminated ASCII string |
| FORMULA | Mathematical expressions | Compiled RPN bytecode plus 8-byte cached result |
| DATE | Date values | Serial day number (day 1 = January 1, 1900) |
| TIME | Time values | Fractional days |
| RANGE | Cell ranges | Four 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
| Version | Year | Key Features | File Format |
|---|---|---|---|
| 1-2-3 Release 1 | 1983 | Spreadsheet, charting, database functions | .WKS |
| 1-2-3 Release 1A | 1983 | Official ASCII support; unofficial IBM extended character set support | .WKS (no format change) |
| 1-2-3 Release 2 | 1985 | Macro command language, add-ins | .WK1 (new format) |
| 1-2-3 Release 2.01 | 1986 | Option to switch between LICS and the IBM extended character set | .WK1 (no format change) |
| 1-2-3 Release 2.2 | 1989 | Improved speed, automated macro tools, presentation-quality graphics | .WK1 (no format change) |
| 1-2-3 Release 3 | 1989 | 3D worksheets, multiple open files | .WK3 (new format) |
| 1-2-3 Release 3.1 | 1990 | WYSIWYG display; worksheets up to 64 MB via disk swapping | .WK3 (no format change) |
| 1-2-3 Release 2.3 | 1991 | WYSIWYG editing for the 2.x line | .WK1 (no format change) |
| 1-2-3 Release 2.4 | 1992 | Icons and additional tools | .WK1 (no format change) |
| 1-2-3 Release 4 (Windows) | 1993 | Groupware features, in-cell editing | .WK4 (new format) |
| 1-2-3 Release 5 (Windows) | 1994 | Chart maps, improved database access | .WK4 (no format change) |
| 1-2-3 97 | 1997 | First 32-bit version, LotusScript | .123 (new format) |
| 1-2-3 Millennium (Release 9) | 1998 | Internet and intranet publishing tools | .123 (no format change) |
| 1-2-3 Millennium 9.8 | 2002 | Final 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.123files - 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
- Wikipedia: Lotus 1-2-3
- Lotus Worksheet File Format documentation (1984, archived)
- ArchiveTeam File Format Wiki: Lotus 1-2-3
- Wikipedia: Lotus Development
- FileFormat.com: Lotus .123 File Format
To learn how to use this format with DataMeans, see the User Guide.