Home › Developer Tools › XLS to XLSX Converter

XLS to XLSX Converter

Upgrade legacy Excel 97-2003 workbooks to the modern .xlsx format. Drop one file or a whole batch: every sheet, cell value, formula, number format and merged cell is carried over, and the conversion runs entirely in your browser.

Last updated:

No files yet Add one or more .xls workbooks, or try a sample to see how it works. Each sheet, cell value, formula, number format, merged cell and column width is carried over to a modern .xlsx file.
Advertisement
Advertisement

How to use the XLS to XLSX Converter

  1. Drop your .xls files onto the box or click to choose them. You can add several at once.
  2. Choose the options: keep formulas or values only, and what to do with hidden sheets.
  3. Wait a moment while each workbook is converted; the list shows sheets, formulas and the new file size.
  4. Preview a sheet to check the result.
  5. Download each .xlsx file, or all of them as one ZIP.

XLS vs XLSX: what changes

.xls (Excel 97-2003).xlsx (Excel 2007 and later)
File structureBinary (BIFF8 records in an OLE2 container)ZIP package of XML parts (Office Open XML, ECMA-376)
Rows per sheet65,5361,048,576
Columns per sheet256 (A to IV)16,384 (A to XFD)
Typical file sizeLarger, not compressedOften 50-75% smaller, ZIP compressed
MacrosCan be stored in any .xlsNot allowed (macro workbooks use .xlsm)
Text encodingCode pages or UTF-16UTF-8 XML
Recovery when damagedHard, one binary streamEasier, each part is a separate XML file

What this converter keeps

  • Kept: all worksheets and their order, cell values (numbers, text, dates, booleans, errors), formulas, number formats, merged cells, column widths, hidden sheet state and the 1900/1904 date system.
  • Not kept: fonts, fill colors, borders, conditional formatting, charts, pictures, comments, data validation and VBA macros. Excel's own File > Save As > Excel Workbook (*.xlsx) keeps styling but also drops macros.

Because the converter rewrites the data with the open-source SheetJS library rather than copying Excel's internal layout, the new .xlsx opens in Excel, Google Sheets, LibreOffice Calc and Numbers, and most viewers that refuse old binary files.

Tips

  • If an .xls file was exported by a website or accounting system, it may actually be an HTML table or CSV text. The list shows the detected format next to each file.
  • Formulas keep the values Excel last calculated, so the preview shows numbers straight away; Excel recalculates when the workbook is opened.
  • For a quick look at an old workbook without converting it, use the Excel Viewer; to pull out just the data, use Excel to CSV.

Frequently asked questions

What is the difference between XLS and XLSX?

XLS is the binary file format used by Excel 97 to Excel 2003 (BIFF8). XLSX, introduced with Excel 2007, is the Office Open XML format: a ZIP package of XML files. XLSX files are usually smaller, hold up to 1,048,576 rows and 16,384 columns per sheet instead of 65,536 rows and 256 columns, and are supported by every modern spreadsheet app.

Will my formulas still work after converting?

Yes. Formulas are carried over as formulas, so Excel recalculates them when you edit the workbook. If you choose Values only, each formula is replaced by the last value Excel saved, which is useful when you share a file and want to hide the calculations.

Is cell formatting kept?

Values, formulas, number formats (dates, currency, percentages), merged cells, column widths and hidden sheets are kept. Visual styling such as fonts, fill colors, borders, charts, images, comments and VBA macros is not carried over by this browser-based converter, so use Excel's own Save As if you need those.

Can I convert many XLS files at once?

Yes. Select or drop as many .xls files as you like. They are converted one after another, and the Download all as ZIP button saves every .xlsx file in a single archive.

Are my spreadsheets uploaded to a server?

No. The workbook is read and rewritten by JavaScript in your browser using the open-source SheetJS library, which is downloaded once from a public CDN. The files themselves never leave your device.

Why does my file fail to convert?

The most common reasons are a password-protected workbook (remove the password in Excel first), a damaged file, or a file that is not really a spreadsheet. Files from some web apps are HTML or CSV with an .xls extension; those are recognised and converted as well.

Are all the tools on FreeToolCabin tested for quality and accuracy?

Yes! Every tool on our site undergoes automated Q/A testing in real browser environments to ensure high precision, correct output, and zero errors. If you happen to spot a bug or have a suggestion, please contact us at [email protected] and our team will review it right away.

Related tools

Excel Viewer (XLSX / XLS)Open XLSX, XLS and ODS spreadsheets in your browser without Excel.Excel to CSVConvert XLSX spreadsheets to CSV.Merge Excel FilesCombine XLSX, XLS and CSV files into one workbook or append all rows into a single sheet.Excel to SQL ConverterTurn an Excel sheet into CREATE TABLE and INSERT statements for MySQL, PostgreSQL, SQLite or SQL Server.JSON to Excel ConverterTurn JSON into a styled .xlsx spreadsheet; nested arrays become their own linked sheets.JSON to CSVConvert JSON data to CSV for spreadsheets.CSV to JSONConvert CSV data to JSON with live preview.CSV ViewerOpen a CSV or TSV file as a sortable, filterable table.Line Ending ConverterConvert text and files between CRLF, LF and CR line endings.Markdown to HTMLConvert Markdown to clean HTML with a live editor.XML to JSONConvert XML to JSON with validation.Text Encoding ConverterDetect and convert text file encodings like UTF-8, UTF-16 and Latin-1.JSON ViewerExplore JSON as a collapsible tree, search keys and values and copy any node's path.TTF to WOFF2 ConverterConvert TTF and OTF fonts to WOFF2 or WOFF and get a ready @font-face CSS snippet.Chmod CalculatorConvert Linux file permissions between checkboxes, octal (755) and symbolic (rwxr-xr-x) notation.JSON to TypeScriptGenerate TypeScript interfaces or types from JSON, with nested types and optional fields.Morse Code TranslatorTranslate text to Morse code and back, then play it as sound or a blinking light, or save a WAV.HTML Table GeneratorBuild HTML tables in an editable grid with styles, header rows, CSV import and live preview.Hex to Text ConverterConvert hex to text and text to hex with UTF-8 support and space, 0x, \x or comma formats.JSON to XML ConverterConvert JSON to well-formed XML with attributes, arrays and pretty print.JSON to YAML ConverterConvert JSON to clean YAML as you type, with indent, quoting and sort options.YAML to JSON ConverterConvert YAML to pretty or minified JSON, with errors pinned to the exact line.HTML to Markdown ConverterTurn HTML or pasted rich text into clean Markdown with tables and live preview.Markdown Table GeneratorBuild Markdown tables in a grid or paste from Excel/CSV, with alignment and preview.JSON ValidatorCheck JSON with the exact line and column of each error, fix tips and one-click auto-fix.Image to Base64Convert images to Base64 data URIs, CSS backgrounds and HTML img tags in your browser.Base64 to ImagePaste a Base64 string or data URI to preview, identify and download the image.JSON CompareCompare two JSON documents and see every added, removed and changed path.Hex to DecimalConvert hex to decimal instantly with steps and signed mode.Decimal to HexConvert decimal to hex instantly with steps and signed mode.Binary to DecimalConvert binary to decimal instantly with steps and signed mode.Decimal to BinaryConvert decimal to binary instantly with steps and signed mode.Two's Complement CalculatorDecimal to two's complement binary and back for 4-64 bits, with invert-and-add-1 steps.XML to CSV ConverterConvert XML to CSV: detects repeating records, flattens nested data, pick your columns.CSV to XML ConverterConvert CSV to well-formed XML with custom root and row names, escaping and pretty print.TOML to JSON ConverterConvert TOML to JSON and JSON to TOML with a full v1.0 parser and clear error lines.JSON to Go StructTurn JSON into Go structs with inferred types, nested structs and json tags.JSON to Python ClassGenerate Python dataclasses, Pydantic models or TypedDicts with type hints from JSON.CSV Duplicate Row RemoverRemove duplicate rows from a CSV by all or selected columns and download the cleaned file.CSV to HTML TableTurn CSV into clean HTML table code with a live preview, styling options and one-click copy.CSV to Markdown TableConvert CSV to a neatly aligned GitHub Markdown table with column alignment and live preview.CSV TransposeSwap rows and columns of CSV, TSV or pasted spreadsheet data, with delimiter auto-detect.Date Format ConverterConvert any date to ISO 8601, RFC 2822, Unix time and custom strftime, moment or Java patterns.ENV to JSON ConverterConvert .env files to JSON or YAML and JSON back to .env, with quotes and multiline values.File to Base64Convert any file to a Base64 string or data URI with MIME detection, line wrap and download.HTML Table to CSVExtract any table from HTML or page source to CSV, TSV or JSON, with colspan and rowspan handled.IEEE 754 Floating Point ConverterConvert decimals to 32/64-bit IEEE 754 floats: toggle bits, see hex, exact value and rounding error.INI to JSON ConverterConvert INI and CFG files to JSON and JSON back to INI, with sections, arrays and types.IP Address ConverterConvert IPv4 to decimal, hex, binary, octal and back, with class and private/public check.ISBN Converter & ValidatorConvert ISBN-10 to ISBN-13 and back, validate check digits and hyphenate, one or in bulk.JSON Flatten / UnflattenFlatten nested JSON to dot or bracket path keys, or unflatten flat keys back to nested JSON.JSON to Dart ClassTurn JSON into Dart model classes with fromJson, toJson, null safety and nested classes.JSON to Java ClassTurn JSON into Java POJOs or records with Lombok, getters/setters and Jackson or Gson annotations.JSON to Kotlin Data ClassTurn JSON into Kotlin data classes for kotlinx.serialization, Gson, Moshi or Jackson.JSON to Markdown TableTurn a JSON array of objects into a GitHub Markdown table with column picker and alignment.JSON to PHP ArrayConvert JSON to PHP array code (short [] or array()) and PHP arrays back to JSON.JSON to Rust StructTurn JSON into Rust structs with serde derives, rename attributes, Option and Vec types.JSON to SQL ConverterConvert a JSON array of objects to CREATE TABLE and INSERT statements for MySQL, Postgres, SQLite.JSON to Swift StructTurn JSON into Swift Codable structs with CodingKeys, optionals and nested types.JSON to TOML ConverterConvert JSON to clean TOML with tables, arrays of tables, inline tables and dates.JSONL to JSON ConverterConvert JSON Lines / NDJSON to a JSON array and back, with line-level error reports.Properties to YAML ConverterConvert Java .properties to nested YAML (application.yml) and YAML back to properties.PX to EM ConverterConvert pixels to em using the parent font size, and em back to px, with conversion tables.Query String to JSONConvert URL query strings to JSON with nested brackets and arrays, and JSON back to a query string.REM to PX ConverterConvert CSS rem values to pixels for any root font size, with a quick 0.25–6rem table.SQL to JSON ConverterConvert SQL INSERT statements and dumps into a JSON array of row objects, with CSV export.TSV to CSV ConverterConvert TSV to CSV and back, or between tab, comma, semicolon and pipe, with correct quoting.TypeScript to JavaScriptConvert TypeScript or TSX to clean JavaScript instantly: strip types, keep or compile JSX.
See all 129 Data & File Format Converters →