CSV to Excel Converter
Convert CSV files to Excel (.xlsx) format instantly in your browser. Upload a file or paste CSV data, preview the table, and download the spreadsheet.
CSV (Comma-Separated Values) is the most common format for exchanging tabular data between systems, but it lacks the formatting, formulas, and multi-sheet structure that spreadsheet users need. This converter reads your CSV data - uploaded as a file or pasted as raw text - parses every row, and writes a proper .xlsx workbook you can open in Excel, Google Sheets, LibreOffice Calc, or Numbers.
About CSV to Excel Converter
How the Conversion Works
The tool uses the SheetJS (xlsx) library running entirely in your browser. It parses the CSV input, detects delimiters and quoted fields, and writes the data into an Excel Open XML (.xlsx) workbook. The first row is treated as column headers by default.
| Step | What Happens |
|---|---|
| 1. Input | Upload a .csv, .tsv, or .txt file, or paste raw delimited text |
| 2. Parse | The parser splits rows and columns, handling quoted fields and embedded commas |
| 3. Preview | A table preview of the first 20 rows lets you verify the data looks correct |
| 4. Convert | Data is written into an .xlsx workbook with proper cell types (text, numbers, dates) |
| 5. Download | Click the button to save the Excel file to your device |
What Changes When You Convert CSV to Excel?
| Feature | CSV | Excel (.xlsx) |
|---|---|---|
| Cell data types | Everything is plain text | Text, numbers, dates, booleans are typed |
| Multiple sheets | Not supported | Multiple sheets in one file |
| Formatting | None - just raw data | Fonts, colours, borders, column widths |
| Formulas | Not supported | Full formula support |
| File size (1,000 rows) | ~50-100 KB | ~30-80 KB (compressed XML) |
| Universal readability | Any text editor | Requires spreadsheet software |
| Data validation | None | Dropdowns, ranges, custom rules |
The conversion preserves all your data exactly. Numbers that look like numbers are stored as numeric cells in Excel, so sorting and calculations work immediately without manual conversion.
Handling Tricky CSV Data
Real-world CSV files are rarely clean. The parser handles several common edge cases that trip up simpler tools:
| Edge Case | Example | How It Is Handled |
|---|---|---|
| Commas inside values | "London, UK" | Quoted fields are kept as a single cell |
| Embedded quotes | "She said ""hello""" | Doubled quotes are unescaped to single quotes |
| Newlines in fields | "Line 1\nLine 2" | Multi-line values preserved within the cell |
| Mixed line endings | CRLF, LF, CR | All three formats detected and handled |
| Tab delimiters (.tsv) | col1\tcol2 | TSV files parsed correctly alongside CSV |
| Leading zeros | 00123 | Stored as text to preserve the leading zeros |
| Empty rows | (blank line) | Skipped to keep the output clean |
When Should You Convert CSV to Excel?
| Scenario | Why Excel Helps |
|---|---|
| Sharing data with non-technical colleagues | Excel is familiar and opens with a double-click - no import wizard needed |
| Adding calculations to exported data | Excel formulas like SUM, VLOOKUP, and pivot tables work on typed cells |
| Combining data from multiple CSV exports | Paste each CSV into a separate sheet in one workbook |
| Presenting data to clients | Format headers, add colours, freeze panes, and print with proper layout |
| Importing into systems that require .xlsx | Some platforms (Salesforce imports, HR systems) accept Excel but not CSV |
| Archiving database exports | Excel files compress well and keep data types intact for future use |
CSV File Size and Row Limits
| Software | Max Rows | Max Columns | Practical File Size Limit |
|---|---|---|---|
| Excel (.xlsx) | 1,048,576 | 16,384 | ~50-100 MB before performance drops |
| Google Sheets | 10,000,000 cells total | 18,278 | ~100 MB import limit |
| LibreOffice Calc | 1,048,576 | 1,024 | Similar to Excel |
| Numbers (macOS) | 1,000,000 | 255 | ~20-30 MB for smooth editing |
| This tool (browser) | No hard limit | No hard limit | Limited by browser memory - files under 50 MB work best |
For very large datasets (500,000+ rows), the browser conversion may take a few seconds. The file is processed entirely in memory, so your device needs enough RAM to hold the parsed data.
Going the Other Direction
Need to convert from Excel back to CSV? Use the Excel to CSV converter. For viewing, sorting, filtering, and editing CSV data before converting, the CSV Viewer provides a spreadsheet-like interface right in your browser. If you need to reshape delimited text before the conversion, the Text to PDF tool can generate a read-only version for sharing.
CSV Specification and Why Files Disagree
CSV is defined by IETF RFC 4180, a short specification published in 2005 that describes field separators, quoting rules, line endings (CRLF), and an optional header line. The RFC is informational rather than a strict standard, which is why exports from different systems vary. The W3C CSV on the Web working group also publishes a tabular data model that aims to make CSV machine-readable at scale.
Common deviations you will meet in real exports:
- European locales using semicolons (;) as the field separator because the comma is used as the decimal mark
- Tab-separated files (.tsv) which IANA registers separately as text/tab-separated-values
- Legacy Mac files ending lines with CR only, instead of LF or CRLF
- Byte order marks (BOM) prepended by Excel when it saves UTF-8 CSV - this tool strips the BOM during parsing
- Inconsistent quoting where only fields with commas are quoted, rather than every field
The SheetJS parser used here follows the RFC 4180 rules and tolerates these common variations, so exports from Excel, Google Sheets, Postgres COPY, MySQL SELECT INTO OUTFILE, and the Unix csvkit toolchain all convert cleanly.
The .xlsx Format Under the Hood
An .xlsx file is not one file - it is a ZIP archive of XML documents described by the ECMA-376 Office Open XML standard, first ratified in 2006 and adopted as ISO/IEC 29500 in 2008. Rename any .xlsx to .zip and you can unpack it to see the parts inside: a workbook manifest, one XML file per sheet, a shared strings table to deduplicate text, styling rules, and any embedded charts or images.
| Part | What It Contains |
|---|---|
| xl/workbook.xml | List of sheets, defined names, workbook-level settings |
| xl/worksheets/sheet1.xml | Actual cell values, types, and formulas for one sheet |
| xl/sharedStrings.xml | Deduplicated string pool referenced by cells to shrink file size |
| xl/styles.xml | Fonts, number formats, cell styles, colours, borders |
| [Content_Types].xml | MIME types for each part of the archive |
Because the format is ZIP compressed, .xlsx files are usually smaller than the raw CSV once the dataset passes a few thousand rows. A 50 MB CSV of repeated category labels often compresses to a 5-8 MB .xlsx because the shared strings table holds each unique value exactly once.
Worked Example: A 10,000 Row Export
Say you have a customer export from a CRM with 10,000 rows and 12 columns. The raw CSV is 4.2 MB. After upload, the parser walks every line, splits on commas (respecting quoted fields), and builds an array of arrays in memory. SheetJS then writes the workbook, applying cell-type detection: integer IDs become numeric cells, date fields in ISO 8601 format become date cells, and any column with leading zeros (postcodes, phone numbers) stays as text to preserve the data exactly.
The resulting .xlsx is around 1.3 MB - a 70% reduction - because the XML compresses well and the shared strings table holds each unique city, country, and status value once rather than thousands of times. The file opens in Excel in under a second on a modern laptop, and sorting, filtering, and pivot tables all work immediately with no "text that looks like a number" warnings.
Common Mistakes When Working With CSV
- Opening a CSV directly in Excel without Import Wizard. Excel auto-converts long numeric strings to scientific notation (so 12345678901234 becomes 1.23E+13) and drops leading zeros from postcodes. Converting with this tool first keeps the data as text where appropriate.
- Saving Excel back to CSV and losing formulas. CSV has no concept of formulas. Excel saves only the calculated value, so re-importing loses all logic. Keep the .xlsx as the source of truth and export CSV only for interchange.
- Mixing encodings. UTF-8 is the modern standard, but many older systems write CSV in Windows-1252 or ISO-8859-1. Non-ASCII characters (accented letters, currency symbols) will look garbled if the encoding is wrong. UTF-8 with a BOM is the safest choice for files that need to open in Excel for Windows.
- Assuming dates will parse correctly. 01/02/2026 is 1 February in the UK and 2 January in the US. ISO 8601 format (2026-02-01) removes the ambiguity. This tool preserves whatever date format the CSV uses - it does not reformat.
- Ignoring line breaks inside cells. A cell containing "Line 1\nLine 2" is valid CSV as long as the field is quoted. Unquoted line breaks break the row count. The parser here handles both correctly.
Privacy and Browser Processing
All conversion happens client-side using JavaScript. Your data never leaves your device, and the tool works offline once the page has loaded. The SheetJS library is loaded from a pinned CDN version on first visit and cached by the browser for subsequent uses. No file contents, file names, or row counts are logged, analysed, or sent to any server - the network tab in your browser's developer tools will confirm this.
Sources
- IETF RFC 4180 - Common Format and MIME Type for CSV Files
- ECMA-376 - Office Open XML File Formats
- ISO/IEC 29500 - Office Open XML File Formats
- W3C Model for Tabular Data and Metadata on the Web
- SheetJS - Workbook and Worksheet Features
- Microsoft - Excel Specifications and Limits
- MDN - UTF-8 Character Encoding
Frequently Asked Questions
How does the CSV to Excel conversion work?
The tool uses the SheetJS library to parse your CSV data and write it as an Excel workbook. The conversion happens entirely in your browser - no data is sent to any server.
Does it handle quoted fields and commas within values?
Yes. The parser correctly handles fields wrapped in double quotes, including values that contain commas or line breaks inside quotes.
Can I paste CSV data directly instead of uploading a file?
Yes. Switch to the "Paste CSV" tab and paste your data into the text area. The tool will show a preview and let you download it as an Excel file.
What file types can I upload?
The tool accepts .csv, .tsv, and .txt files. Any plain text file with comma or tab-separated values should work.
Are my files uploaded anywhere?
No. All processing happens in your browser. Your data never leaves your device.
Link to this tool
Copy this HTML to link to this tool from your website or blog.
<a href="https://toolboxkit.io/tools/csv-to-excel/" title="CSV to Excel Converter - Free Online Tool">Try CSV to Excel Converter on ToolboxKit.io</a>