Drag & drop a CSV file here
Leading zeros in phone numbers and ZIP codes stay exactly as they are.
No Excel-style auto-conversion — every value is edited safely as text.
🔒 Your files are processed only in your browser and are never stored on our server.
What this tool does
HANECSV is a free tool for opening and editing CSV files right in your browser. No installation or sign-up is required. Files are processed only inside the browser on your computer and are never sent to or stored on our server, so you can safely work with customer lists and other confidential data.
The biggest problem with handling CSV files in Excel is that it silently rewrites the contents the moment you open them. This tool treats every value as text, so those conversions never happen.
-
🔤No garbled text
The character encoding is detected automatically when you open a file. UTF-8, UTF-16, Windows-1252 and the Japanese encodings Shift_JIS and EUC-JP are supported, with or without a BOM.
-
0️⃣Leading zeros stay
Values such as the phone number “0312345678” or the ZIP code “02134” are displayed and saved exactly as they are.
-
📅No surprise dates
“1-2” is never turned into January 2.
-
✏️Edit in place
Click a cell and type. Add and delete rows and columns, sort, filter, search, find and replace, and add calculated columns.
-
💾Choose your output format
Save as CSV (choose the encoding and delimiter), Excel (.xlsx) or HTML.
All of these features are free, with no limit on the number of files or rows. The editing features are all in the toolbar at the top of the screen — just click the button you need.
How to use it (3 steps)
-
Open a CSVDrag and drop a file or click “Choose a file to start”. The encoding is detected automatically, so there is no need to convert anything first. Excel files (.xlsx / .xls) open directly too.
-
EditClick a cell and type. Buttons for row and column operations, sorting, filtering and find-and-replace are in the toolbar at the top. Undo and redo are supported.
-
SaveClick the “CSV” button to choose the encoding and delimiter. Pick “UTF-8 (with BOM)” if the file will be opened in Excel, “UTF-8 (no BOM)” for importing into web apps and databases, or “Shift_JIS” for older Japanese software.
Why CSV files show garbled characters
The cause: an encoding mismatch
A CSV file doesn’t record which encoding it uses. If the encoding used to open it differs from the one used to save it, the text gets garbled.
A CSV is just plain text, and the file itself holds no information about which character encoding it was written in. When the encoding used to save the file differs from the one the software assumes when opening it, you get garbled characters (often called “mojibake”), such as “é” instead of “é”. Today most CSV files are UTF-8, but legacy encodings such as Windows-1252 (Western European) and Shift_JIS (Japanese) are still common.
A typical case is a UTF-8 CSV downloaded from a web service and opened in Excel with a double-click. Excel for Windows reads a double-clicked CSV in the system’s legacy code page (Windows-1252 on US systems, Shift_JIS on Japanese ones), so accented letters, symbols and non-Latin text turn into strings of junk characters. The same thing happens the other way round when a legacy-encoded file is opened as UTF-8.
UTF-8 vs. legacy encodings
Neither is “right” — match what the recipient expects. Note that legacy encodings can’t store every character.
UTF-8 can represent every character in the world in a single scheme and is the standard for the web, Mac and most modern systems. Legacy encodings such as Windows-1252 or the Japanese Shift_JIS only cover a limited set of characters, but they are still used by older accounting software and business systems.
Neither is “correct” — the right choice is whatever the recipient’s system expects. Keep in mind that legacy encodings simply lack many characters: saving emoji, certain symbols or text in other scripts in a legacy encoding can drop those characters or replace them with question marks.
With or without a BOM makes a difference
As a rule: with a BOM for opening in Excel, without a BOM for importing into web systems.
A UTF-8 file can start with a 3-byte marker called a BOM (byte order mark). When it’s there, Excel recognizes the file as UTF-8 and opens it correctly. UTF-8 without a BOM, on the other hand, is mistaken for the legacy code page when double-clicked, and the text gets garbled.
So the rule of thumb is “with a BOM for Excel, without a BOM for web systems”. If you give a BOM file to a system that expects none, an invisible character ends up at the start of the first column header and can cause import errors. If the system specifies a format, always follow it.
How to fix garbled CSV text
There are three main ways to fix garbled text: reopen the file in this tool, import it into Excel with the encoding specified, or convert and re-save it in a text editor such as Notepad. The first is the quickest.
Open and fix it with this tool
Drag and drop the file and it’s displayed correctly. Then just save it again in the encoding you need.
Drag a garbled CSV into this tool and the encoding is detected automatically so the text displays correctly. Then choose the encoding you need from the “CSV” button and save it again — that’s it. No software needs to be installed. The detected encoding is shown at the top of the screen, so you can also use the tool just to find out what encoding a file uses.
Specify the encoding when importing into Excel
Don’t double-click. Use Data → From Text/CSV and choose “65001: Unicode (UTF-8)”.
If you use Excel, the reliable way is to start Excel first and import the file instead of double-clicking it. On the Data tab, choose “From Text/CSV” and select the file. In the dialog, set “File Origin” to “65001: Unicode (UTF-8)” and the garbling disappears. Check the preview and click “Load”.
Even this way, columns that contain only digits are imported as numbers, so leading zeros are still lost. To keep them, click “Transform Data” in the import dialog and set the data type of those columns to “Text”.
Check and convert in Notepad
Text that merely displays correctly hasn’t been converted. Use “Save As” and pick a different encoding to re-save the file.
When you open a CSV in Windows Notepad, the current encoding is shown at the bottom right, so you can check what the file really uses. Go to File → Save As and set Encoding to “UTF-8 with BOM” (or “ANSI” for your system’s legacy code page). After that, double-clicking the file in Excel won’t garble it.
People often say “I opened it in Notepad and it’s still broken” — that’s because only Notepad’s display was correct; the file itself was never converted. Always save it again. Also note that Notepad gets slow with large CSV files and doesn’t show columns, so it isn’t well suited to checking the contents.
Garbled text on a Mac
In Excel for Mac, specify the encoding via File → Import. This tool opens the file as is.
Excel for Mac is weak at detecting encodings and often garbles CSV files created on Windows in a legacy encoding. In Excel for Mac, go to File → Import → CSV file to open a wizard where you can specify the encoding.
This tool runs in any browser on a Mac, so you can open files without worrying about Excel versions. When sending a CSV made on a Mac to someone on Windows, saving it as “UTF-8 (with BOM)” avoids problems on their side.
Why Excel removes leading zeros from CSV files
Why do phone numbers and ZIP codes lose their zeros in Excel?
It happens when the file is opened in Excel: Excel decides that digit-only values are numbers and drops the leading zeros. It doesn’t happen when you open the file with this tool.
When Excel opens a CSV, it inspects each cell, decides “this is a number” or “this is a date”, and converts it to that type. “0312345678” contains only digits, so it’s treated as a number — and since leading zeros are meaningless for numbers, it becomes “312345678”. A ZIP code such as “02134” becomes “2134” for the same reason.
The real trouble is that if you save over the file after this conversion, the missing zeros become permanent. Even if the original file still had them, they’re gone once you save again. Dates work the same way: “1-2” gets saved as January 2.
How to save without losing zeros (with this tool)
This tool treats every value as text, so zeros are never lost. There’s also an option to protect zeros when the file is opened in Excel.
Because this tool treats every value as text, zeros are never lost when you open or save a file, and nothing is converted into a date.
In addition, if you tick “Keep zeros and prevent dates in Excel” in the CSV save dialog, the affected values are written as ="0312345678". Written this way, the zeros survive even when the file is double-clicked open in Excel. This is Excel-specific notation, though, so leave it off if the file is going into another system.
If you know the file will be opened in Excel, saving it as an Excel workbook (.xlsx) is another reliable option. An .xlsx stores a type for each cell, so values saved as text stay as text.
Export in the format another system requires
When accounting software or a business system rejects a CSV import, the cause is usually the file’s encoding or the format of its values. Export with the settings the target system requires, and the import goes through.
Common reasons a CSV import fails
Usually an encoding mismatch, or values changed by opening the file in Excel (lost zeros, unwanted dates).
The most common cause is an encoding mismatch. Check which encoding the target system supports and save the file in that format. If nothing is specified, “UTF-8 (no BOM)” is the safest first try. Importing a file with a BOM can put an invisible character at the start of the first column header and trigger errors such as “column name does not match”.
The next most common cause is values altered by opening the file in Excel. Leading zeros dropped, values turned into dates, long numbers converted to scientific notation — import a file in that state and the system rejects the values as invalid. The reliable fix is to edit the original file directly in this tool instead of opening it in Excel.
Line breaks, commas or double quotes inside a cell can also cause errors, depending on what the target system supports. Check that such values are enclosed in double quotes.
Check the encoding
The detected encoding appears at the top of the screen when you open a file. When saving, you can choose from three encodings and two delimiters.
When you open a file in this tool, the detected encoding is shown at the top of the screen. It’s handy for finding out what encoding a file you received uses.
When saving, you can choose “UTF-8 (with BOM)”, “Shift_JIS” or “UTF-8 (no BOM)”. You can also choose a comma (CSV) or tab (TSV) delimiter, so systems that only accept tab-separated text are covered too. When a filter is active, you can export only the rows currently shown.
How it compares with other approaches
There are three main ways to work with CSV files. Spreadsheet apps are easy to edit in, but watch out for values being converted automatically.
| Spreadsheet app | Text editor | HANETOOL (CSV-only) | |
|---|---|---|---|
| Leading zeros | May be lost when treated as numbers | Kept | Kept |
| Auto-conversion to dates | “1-2” may become a date | Never | Never |
| Encoding | Text may be garbled depending on how it’s opened | Specify and convert manually | Auto-detected (UTF-8, Windows-1252, Shift_JIS, etc.) |
| Editing as a table | Easy | Hard to read; columns don’t line up | Easy |
| Sort & filter | Yes | No | Yes |
| Setup | May require installation and purchase | Usually built into the OS | None — just open it in a browser |
* This table summarizes general tendencies of each approach and does not compare specific products. Conditions vary widely between products and services, so please check each one's terms before use.
FAQ
Can I open Excel files (.xlsx) directly?
Yes. Workbooks with several sheets can be edited by switching tabs, and you can save as either CSV or Excel.
Drag and drop an .xlsx / .xls file and it opens as a table. For workbooks with several sheets, sheet tabs appear above the table — click to switch, double-click to rename.
After editing, save as CSV with “💾 CSV” or as .xlsx with “📗 Excel”. If the file will be opened in Excel, .xlsx is safer because it preserves value types.
Can I add, delete and sort rows and columns?
Yes. Select a row number or column header and click a toolbar button. Any action can be undone with Ctrl+Z.
Click a row number or column header to select it, then use “↑ Insert” to add a row above, or “← Insert” / “Insert →” to add a column to the left or right. To delete, select and press the delete button. To simply add to the end, use “+ Row” or “+ Col”.
To sort, select the column to sort by and press “▲ Asc” or “▼ Desc”. Made a mistake? Use “↶ Undo” (Ctrl+Z); undid too much? Use “↷ Redo” (Ctrl+Y).
How do I find and edit only certain rows?
Use “Filter” to show only the matching rows. You can also save just those rows while the filter is on.
Type into “📥 Filter” in the toolbar and only rows containing that text are shown. The “🔍 Search” box next to it just highlights matches without hiding rows. Use whichever suits your purpose.
When you save with a filter on, you can choose to save only the filtered rows — handy for creating a new CSV containing just the rows that match.
Can I find and replace text in bulk?
Yes. Use “🔁 Replace” (Ctrl+H) to replace everything within a range you choose.
The range can be “Whole table”, “Visible rows only (filter results)”, “Selected columns only” or “Selected rows only” — useful when you want to standardize the notation in just one column.
Replacements can be undone with “↶ Undo” too, so it’s safest to try a narrow range first and then widen it.
Can I add a column calculated from other columns?
With “🧮 Calc column” you can add a new column containing arithmetic or tax calculations, or text that has been joined, extracted or replaced.
Based on existing columns, you can add, subtract, multiply, divide and calculate tax. Results can be rounded, rounded up or rounded down.
Text processing is supported too: join several columns, take a number of characters from the left, right or middle, replace specific text, trim leading/trailing spaces, or convert to upper/lower case.
Can I copy and paste to and from Excel?
Yes. Rows and columns go back and forth with Excel using Ctrl+C / Ctrl+V.
Select rows or columns and use “⧉ Copy” (Ctrl+C) or “✂ Cut” (Ctrl+X); the clipboard then holds them in a format you can paste straight into Excel.
Going the other way, a range copied in Excel can be brought in by selecting the table in this tool and pressing Ctrl+V. (The “📋 Paste” button is for rows or columns copied or cut within this tool.) It’s a handy way to turn an Excel table into a CSV without damaging the values.
Are my edits saved automatically?
No. Everything happens inside your browser, so always export your work as a file with a save button.
Files you open are handled only inside your browser; they are never sent to a server or saved automatically anywhere.
When you’re done, save with “💾 CSV”, “📗 Excel” or “🌐 HTML”. If you try to close the page without saving you’ll see a warning, but if you close it anyway your edits are lost.
We do not guarantee the accuracy or completeness of the explanations on this page or of the output of this tool. When working with important documents, always check the saved file yourself. Processing may be interrupted depending on your browser or connection, so please keep your own backups of any data you work with. For details, see our Terms of Service and Privacy Policy.