How to Convert CSV to Excel Free 2026

CSV files are everywhere. Your bank exports them, your CRM spits them out, your analytics dashboard saves data as .csv by default. But when you need to actually do something with that data – add formulas, make a chart, filter rows, or share a formatted report – you need it in Excel (.xlsx) format.

I deal with CSV imports almost daily (managing client databases and ad campaign exports), and I’ve tested every method out there. Some work perfectly, some will mangle your data if you’re not careful. Here’s what actually works in 2026, with the gotchas nobody tells you about.

Quick Comparison: CSV to Excel Conversion Methods

Method Best For Handles UTF-8 Preserves Leading Zeros Max File Size Cost
Microsoft Excel (Open & Save) Desktop users with Excel license Yes (with import wizard) Yes (text import only) 1,048,576 rows $6.99/mo (M365)
Google Sheets Quick conversion, collaboration Yes (auto-detect) No (strips by default) 10 million cells Free
LibreOffice Calc Full control, offline, free Yes (encoding picker) Yes (column type selector) 1,048,576 rows Free
Convertio No software install needed Yes No 100 MB free Free (2 files/day)
CloudConvert Batch conversion, API access Yes No 1 GB (paid) Free (25/day)
Zamzar Simple one-off conversions Yes No 50 MB free Free (2 files/day)

If you just want the short answer: for files under 50 MB with standard data, upload to Google Sheets, then download as .xlsx. Takes 30 seconds. For anything with special characters, leading zeros in ZIP codes or phone numbers, or non-English text, use LibreOffice Calc – it gives you full control over encoding and column types, and it’s completely free.

Now for the detailed walkthrough of each method.

Method 1: Google Sheets (Fastest Free Option)

This is my go-to for quick conversions when I don’t need to worry about data formatting quirks.

Steps

  1. Go to sheets.google.com and open a blank spreadsheet
  2. Click File > Import > Upload and drag your CSV file in
  3. In the import dialog, choose “Replace spreadsheet” and set the separator type (usually “Detect automatically” works fine)
  4. Once the data loads, go to File > Download > Microsoft Excel (.xlsx)

That’s it. The .xlsx file downloads to your computer ready to open in Excel.

Where Google Sheets falls short

Numbers that start with zero get silently converted. A ZIP code like 01234 becomes 1234. A phone number +01onal code like 007 becomes just 7. There’s no warning, no prompt – the zeros just vanish. If your CSV has product codes, SKUs, or phone numbers with leading zeros, skip this method.

Also, the 10-million-cell limit matters for big datasets. A CSV with 50 columns and 250,000 rows? Already at 12.5 million cells. Google Sheets will either truncate it or refuse the import.

Method 2: LibreOffice Calc (Best Free Desktop Option)

LibreOffice is honestly the most underrated free software out there. For CSV-to-Excel specifically, it handles edge cases that even paid tools mess up.

Steps

  1. Download LibreOffice from libreoffice.org (Windows, Mac, Linux – all free)
  2. Open LibreOffice Calc
  3. Go to File > Open and select your CSV file
  4. The Text Import dialog appears – this is where the magic happens:
    • Character Set: Pick UTF-8 if your data has non-English characters (French accents, German umlauts, Cyrillic, CJK characters). Pick “Western Europe (Windows-1252)” for plain English data
    • Separator: Check “Comma” for standard CSV. Some European CSVs use semicolons – check “Semicolon” instead
    • Column type: Click on any column in the preview and set it to “Text” to preserve leading zeros
  5. Click OK. Your data opens formatted correctly
  6. Go to File > Save As, pick “Microsoft Excel 2007-365 (.xlsx)” from the format dropdown, and save

Why I keep coming back to LibreOffice

Three words: the import dialog. You see a live preview of exactly how your data will look before committing. If something looks off – wrong encoding, columns misaligned, dates reformatted weirdly – you catch it right there. Google Sheets and most online converters don’t give you that preview.

For a deeper look at spreadsheet tools, check out our roundup of the best Excel alternatives.

Method 3: Microsoft Excel (If You Already Have It)

If you pay for Microsoft 365 or have Excel through work, you’ve already got a solid CSV converter built in. But there’s a catch most people don’t know about.

The wrong way (just double-clicking)

Double-clicking a .csv file opens it in Excel automatically. Seems fine until you realize Excel auto-detected your date column and reformatted “01-02” into “January 2nd” or turned gene names like “MARCH1” into a date. This is a well-documented problem – a 2016 study found that roughly 20% of published genomics papers had Excel auto-format errors in their supplementary data.

The right way (Data > From Text/CSV)

  1. Open a blank Excel workbook
  2. Go to Data > From Text/CSV (or “Get Data > From File > From Text/CSV” in newer versions)
  3. Select your CSV file
  4. Excel shows a preview. Check the encoding detection (usually UTF-8) and delimiter
  5. Click Transform Data if you need to change column types before loading
  6. Click Load
  7. Save as .xlsx

The Data import route gives you Power Query integration, which means you can set column types, filter rows, and transform data before it ever hits your spreadsheet. Overkill for a simple conversion? Maybe. But it prevents the auto-format disasters.

Method 4: Online Converters (No Install Needed)

Sometimes you’re on a locked-down work computer or a Chromebook where you can’t install software. Online converters work in a browser with zero setup.

Convertio

Upload your CSV at convertio.co, select XLSX as output, click Convert. Free tier gives you 2 conversions per day with a 100 MB file limit. The conversion is fast – a 5 MB CSV typically converts in under 10 seconds. One downside: no option to configure delimiters or encoding before conversion. It guesses, and usually guesses right, but “usually” isn’t “always.”

CloudConvert

Similar to Convertio but more generous on the free tier: 25 conversions per day. It also offers an API if you need to automate conversions. At cloudconvert.com, upload your file, pick the output format, and download. They claim files are deleted from their servers after 24 hours.

Zamzar

The original online converter – been around since 2006. Zamzar handles CSV to XLSX with a 50 MB limit on the free plan (2 files per day). Simple interface, reliable results. No bells and whistles.

For a broader look at file conversion tools, our guide to best free file converter tools covers options beyond just CSV and Excel.

Privacy warning about online converters

Your CSV data gets uploaded to someone else’s server. If the file contains personal data (names, emails, financial records), think twice. Check the converter’s privacy policy. Or better yet, use a local tool like LibreOffice for sensitive data – your files never leave your machine.

Method 5: Excel Online (Free via Microsoft Account)

Not a lot of people know this, but Microsoft offers a free web version of Excel at office.com. You don’t need a Microsoft 365 subscription.

  1. Go to office.com and sign in with a free Microsoft account
  2. Open Excel Online
  3. Click Upload and Open, select your CSV
  4. The data opens in the browser. Format it however you need
  5. It auto-saves as an Excel file in your OneDrive
  6. Click File > Save As > Download a Copy to get the .xlsx locally

The 5 GB of free OneDrive storage that comes with a Microsoft account is more than enough for spreadsheet files. The catch is the same as Google Sheets – leading zeros get eaten, and very large files (over 5 MB) can be sluggish.

Method 6: Command Line (For Power Users and Automation)

If you convert CSV files regularly or need to batch-process dozens of files, a command-line approach saves a lot of clicking around.

Using Python with openpyxl

import csv
from openpyxl import Workbook

wb = Workbook()
ws = wb.active

with open('data.csv', 'r', encoding='utf-8') as f:
    reader = csv.reader(f)
    for row in reader:
        ws.append(row)

wb.save('data.xlsx')

This 10-line script handles UTF-8 encoding correctly, preserves leading zeros (since everything stays as text by default), and works on files of any size. You’ll need Python installed and the openpyxl library (pip install openpyxl).

Using ssconvert (part of Gnumeric)

ssconvert input.csv output.xlsx

One line. Done. On Linux, install it with sudo apt install gnumeric. It handles encoding detection automatically and runs extremely fast – I’ve converted 200 MB CSVs in under a minute with this.

Common Problems (and How to Fix Them)

Garbled characters after conversion

This is almost always an encoding mismatch. Your CSV was saved in UTF-8 but the converter assumed ANSI (Windows-1252), or the other way around. The fix: in LibreOffice or Excel’s import wizard, manually set the character encoding to match the file. If you don’t know the encoding, try UTF-8 first – it’s the standard for modern files. If that produces garbage, try Windows-1252.

Leading zeros disappear

ZIP codes, product codes, phone numbers – anything with a leading zero gets treated as a number and stripped. In LibreOffice, set the column type to “Text” in the import dialog. In Excel, use Power Query to set the column data type to “Text” before loading. In Google Sheets? You’re mostly out of luck without workarounds like prefixing with an apostrophe.

Dates reformat incorrectly

Is “01/02/2026” January 2nd or February 1st? Depends on your locale settings. Excel guesses based on your system locale, and if it guesses wrong, every date in your spreadsheet is off. The safest approach: import dates as text first, then manually convert them with a formula like =DATEVALUE() after verifying the format is correct.

Columns don’t split properly

If your entire CSV loads into one column, the delimiter is wrong. Standard CSVs use commas, but many European exports use semicolons. Some use tabs. In the import wizard (LibreOffice or Excel), try different delimiter options until the preview shows properly separated columns.

File is too large

Excel tops out at 1,048,576 rows. If your CSV has more than a million rows, no spreadsheet application will handle it natively. Options: split the CSV into chunks using a tool like split on Linux or a CSV splitter utility. Or use a database tool like DBeaver or even SQLite to query the data without converting it to Excel at all.

Which Method Should You Pick?

Honestly, it depends on two things: how sensitive your data is and whether you have leading zeros or special characters.

For everyday, non-sensitive CSVs under 50 MB: Google Sheets. Upload, download as .xlsx, done in under a minute.

For data with leading zeros, special characters, or non-English text: LibreOffice Calc. The import dialog gives you full control, and it’s free. I’ve been using it for 4+ years and it handles every edge case I’ve thrown at it.

For quick one-off conversions on a locked-down computer: Convertio or CloudConvert. Just don’t upload anything confidential.

For batch processing or automation: Python with openpyxl, or ssconvert on Linux. Set it up once, run it forever.

If you’re working with PDF-based data that you need in spreadsheet format, you might also want to check our guide on how to convert PDF to Excel for free or how to convert PDF to CSV for free.

FAQ

Can I convert CSV to Excel without losing data?

Yes, but you need to watch for three things: character encoding, leading zeros, and date formats. LibreOffice Calc is the safest free option because its import dialog lets you preview and set column types before loading. Online converters and Google Sheets can silently strip leading zeros or mangle non-English characters.

Is there a free way to convert CSV to XLSX without installing software?

Google Sheets (sheets.google.com) and Excel Online (office.com) both let you open a CSV and download it as .xlsx for free, right in your browser. Online converters like Convertio and CloudConvert also work. All you need is an internet connection and a browser.

Why does my CSV look garbled when I open it in Excel?

Most likely an encoding issue. If your CSV was saved in UTF-8 and Excel opens it as ANSI (or vice versa), special characters turn into question marks or random symbols. Instead of double-clicking the CSV, use Excel’s Data > From Text/CSV import and set the encoding to UTF-8 manually. LibreOffice Calc shows you the encoding options every time you open a CSV.

What’s the difference between CSV and Excel formats?

CSV (Comma-Separated Values) is plain text – just data separated by commas, with no formatting, no formulas, and no multiple sheets. Excel (.xlsx) is a binary format that supports cell formatting, formulas, charts, multiple sheets, pivot tables, and conditional formatting. Think of CSV as raw data and Excel as a formatted document. Converting from CSV to Excel lets you add all that structure and formatting.

Can I convert multiple CSV files to Excel at once?

Not easily with most free tools. Google Sheets and LibreOffice handle one file at a time. For batch conversion, CloudConvert supports multiple files on their paid plan. Or use a simple Python script with openpyxl to loop through a folder of CSVs and convert each one – takes about 15 lines of code and processes hundreds of files in seconds.

Share this article

Leave a Comment

Your email address will not be published. Required fields are marked *

Scroll to Top