Skip to main content
L
Loopaloo
Buy Us a Coffee
All ToolsImage ProcessingAudio ProcessingVideo ProcessingDocument & TextPDF ToolsCSV & Data AnalysisConverters & EncodersWeb ToolsMath & ScienceGames
Guides & BlogAboutContact
Buy Us a Coffee
L
Loopaloo

Free online tools for developers, designers, and content creators. Your files are processed in your browser and are never uploaded - no accounts required. A few network utilities (like What's My IP and Currency Converter) call public APIs to do their job and say so on their pages.

support@loopaloo.com

Tool Categories

  • Image Tools
  • Audio Tools
  • Video Tools
  • Document & Text
  • PDF Tools
  • CSV & Data
  • Converters
  • Web Tools
  • Math & Science
  • Games

Company

  • About Us
  • Contact
  • Blog
  • FAQ

Legal

  • Privacy Policy
  • Terms of Service
  • Disclaimer

Support

Buy Us a Coffee

© 2026 Loopaloo. All rights reserved. Built with privacy in mind.

Privacy|Terms|Disclaimer
  1. Home
  2. CSV & Data Analysis
  3. CSV to Excel Converter
Add to favorites

CSV to Excel Converter

Convert CSV to XLSX or ODS with cell types that keep leading zeros, long IDs and dates intact

Rows never leave your deviceMore csv & data analysisJump to full guide

Initializing in your browser…

You might also like

CSV to JSON Converter

Convert both ways, converting a type only when it reads back the same, and naming every value that cannot

Image Format Converter

Convert images between PNG, JPG, WebP, AVIF, BMP formats. Features quality control, transparency support, and batch conversion for efficient workflow.

CSV Viewer & Editor

View, sort and edit a CSV, with an undo stack that goes back exactly one step and a parse report that tells a broken quote from a ragged row

A sample run

An inventory export holds postcodes with leading zeros, prices with a currency symbol, margins as percentages and a 20 digit supplier reference. Opened as a plain CSV, three of those four columns arrive wrong.

inventory.csv

zip,price,margin,supplier_ref
07030,"$1,299.99",18%,12345678901234567890
00501,$29.99,0.5%,98765432109876543210
What CSV to Excel Converter produces

inventory.xlsx, as LibreOffice shows it

zip      price       margin  supplier_ref
07030    $1,299.99   18.0%   12345678901234567890
00501    $29.99      0.5%    98765432109876543210

zip           text        a leading zero is lost forever as a number
price         $#,##0.00   the number 1299.99, so SUM works
margin        0.0%        0.5% is the number 0.005, not 0.5
supplier_ref  text        20 significant digits, and a spreadsheet keeps 15

Every column is read before a type is chosen, and the two a number would damage are kept as text with the reason shown on the page. The margin column is worth looking at twice: reading 0.5% as a half rather than as five thousandths is a hundredfold error that looks entirely plausible in a spreadsheet, and it is what the previous version of this tool did. Every value above was produced by opening the generated workbook in LibreOffice and reading the cells back.

What this converter does

Convert a CSV file into a real Excel workbook (.xlsx) or OpenDocument spreadsheet (.ods) in your browser. Each column is read first and given the cell type that carries every one of its values without changing them, so a postcode column of 01234 arrives as 01234 rather than as 1234, and a price column arrives as numbers a spreadsheet can add up.

How to use

  1. 1Upload your CSV file
  2. 2Check the column plan: each column shows the type it was given and the sentence explaining why
  3. 3Override any column by hand if you want a different type, and read the panel listing anything kept as text
  4. 4Choose XLSX, ODS or CSV and click Download

Key features

  • Real .xlsx via ExcelJS and real .ods written from the OpenDocument specification
  • Leading zeros and identifiers longer than 15 digits kept exactly, with the reason shown
  • Dates converted from the calendar with no timezone in the path, so the file is the same everywhere
  • Display formats derived from the column, so the spreadsheet shows what the CSV held
  • Every value that could not be converted listed with the reason, rather than changed in silence
  • Header styling, frozen panes, auto-filter, column widths, and splitting into sheets of a chosen size

How it works

A converter has one job: the spreadsheet has to hold what the CSV held. That is measured rather than claimed here. LibreOffice opens the generated workbook and every cell it shows is compared against the cell the file started with, which is how the conversion was checked at every step.

Column types are decided from the data, not from a pattern race. A column whose digits carry a leading zero is text, because stored as a number the zero is gone and cannot be recovered. A column holding a value with more than 15 significant digits is text, because 15 is the number precision in Excel’s own specifications and limits, so a 20 digit account number cannot be a number in any spreadsheet. The demotion is at column level: a numeric column in which some cells were quietly kept as text is worse than a text column, because SUM skips text without saying so.

Dates are converted from their calendar fields straight to the workbook day number, with no Date object and no timezone anywhere in the path, so the same CSV produces the same workbook in Tokyo and in New York. A percent sign is what makes a value a percentage, so 0.5% is stored as 0.005 and 1% as 0.01. The display format is derived from the column’s own text, so a file written 1299.99 comes back reading 1299.99 rather than 1,299.99, and a column that wrote its negatives as (500) gets Excel’s accounting layout so they still read as (500).

Everything the tool could not carry as the column’s type is listed on the page with the reason, rather than being changed in silence. You can override any column’s format by hand (Automatic, Text, Number, Currency, Percentage, Date, Date and time, Time), and a value that would be destroyed by the format you chose is still kept as text and reported. Sheet names are made legal against Excel’s rules before the file is built, so a CSV called something with a bracket in it converts instead of failing. Large files can be split into sheets of a chosen size, which is what Excel’s 1,048,576 row limit is for. This is a one-way tool: it reads CSV text and writes a spreadsheet, and does not import existing .xlsx files.

Where this fits a data pipeline

  • Postcodes, SKUs and account numbers

    Columns whose digits carry a leading zero, and identifiers too long for a number to hold, are kept as text automatically. This is the failure that makes people distrust CSV imports, and it does not happen here.

  • Sharing data with people who use Excel

    Numbers arrive as numbers so SUM and sorting work immediately, without the "number stored as text" warning that a renamed CSV produces.

  • A file too large for one worksheet

    Set rows per sheet and the data is split across named worksheets in one workbook, each carrying the header row.

  • LibreOffice and OpenOffice users

    The ODS output is a real OpenDocument spreadsheet rather than a workbook with the extension changed.

Frequently asked questions

Will leading zeros in postcodes or IDs be preserved?

Yes, automatically. A column with any leading zero in it is written as text, and the panel says which value proved it. You do not have to set anything.

What happens to a 20 digit account number?

It is written as text, and the page says why: a spreadsheet keeps 15 significant digits, so stored as a number the last digits change. As text every digit survives.

Does the date come out right if I am in a different timezone?

Yes. The day number is computed from the year, month and day, so nothing in the conversion depends on where you are. This was checked by converting the same file in New York, Tokyo and Kiritimati and comparing the three workbooks.

Why is a date before March 1900 written as text?

Excel keeps a 29 February 1900 that never existed, inherited from Lotus 1-2-3, and LibreOffice does not compensate for it. So the two read a workbook date before 1 March 1900 one day apart, and there is no serial number that both agree on. Text loses nothing; a silent one day shift does.

Does this also import Excel files and convert them to CSV?

No. This tool reads CSV input only and writes a spreadsheet. It does not parse existing .xlsx or .ods files.

Why is there no XLS option?

XLS is the pre-2007 binary format and writing it honestly in a browser is not practical. XLSX opens in every version of Excel from 2007 onward and in Google Sheets and LibreOffice, and ODS covers the OpenDocument side. An option that silently produced a different format than the one it named was worse than not offering it.

Private by design

Rows and columns are parsed and transformed in memory in your browser. No record ever reaches a server.