Why Hindi text and the ₹ sign break in a CSV file
You export a student or customer list as CSV, open it again, and every Hindi or Tamil name has become question marks or junk, and the ₹ sign has turned into symbols. The numbers are fine. Only the text broke.
The common versions of this: a school exports a student list and every Hindi name shows as ???. A customer list from a billing or accounting program opens in Excel with Tamil or Bengali names turned into strings like रा. Invoice amounts that had a ₹ sign now start with ₹. Many people assume the export is corrupt and start retyping.
The file is not damaged. The program that wrote it and the program that read it are using different rules for turning bytes into letters.
Why only some characters break
A CSV is plain text with no header saying which rule was used. The program opening it has to guess.
Plain English letters and digits come out the same under every rule. Devanagari, Tamil, Telugu, Bengali and the other Indian scripts do not, and neither does the ₹ sign, because they all need more than one byte per character in UTF-8. That is why the names and the rupee sign break while the numbers next to them look fine.
| Encoding | Where it is used |
|---|---|
| UTF-8 | The modern standard. Web, macOS, Linux, most systems |
| UTF-8 with BOM | UTF-8 with a marker at the start, which Excel on Windows recognises |
| Legacy regional encodings | Older national standards, still required by some internal systems |
Opening the CSV correctly in Excel
Excel on Windows does not always assume UTF-8 when you double-click a CSV. Microsoft's own support page puts it this way: "You can open a CSV file encoded with UTF-8 normally if it was saved with BOM (Byte Order Mark)." A BOM is a tiny invisible marker at the start of the file that says "this is UTF-8".
If the file has no BOM, do not double-click it. Import it instead, as Microsoft describes: "Data tab > Get Data > From file > Get Data from Text/CSV". In the preview window, set File Origin to 65001: Unicode (UTF-8) and check that the names look right before you press Load.
- Hindi names show as ??? or boxes: try the import route above first. If they are still question marks in the preview, the file itself was saved wrongly (see recovery below).
- Names show as ठor similar junk: classic UTF-8 read as the wrong encoding. Importing as UTF-8 fixes it.
- ₹ shows as ₹: same cause, same fix.
- Text looks right but in an ugly font: that is a font issue, not an encoding issue. Change the font of the column.
Saving: pick CSV UTF-8
When you save from Excel, the Save as type list has more than one CSV. Plain "CSV (Comma delimited)" uses an older encoding, and Hindi names or the ₹ sign are replaced by question marks at that moment. Choose "CSV UTF-8 (Comma delimited)" instead. People who send lists to a system that "only accepts CSV" often hit exactly this: the system was fine, the save option was the problem.
If the receiving system is old and asks for a specific encoding, ask its support which one. Most current web portals and tools expect UTF-8.
Using our converter
Excel to CSV on this site writes CSV with a BOM, so Excel opens Indian-script text correctly on a double-click and other programs read it fine too. When you open a CSV with it, it guesses the encoding and you can change the guess by hand. It runs in the browser; the list stays on your device.

Can a broken file be recovered
If it only looks broken, yes: reopen it with the right encoding and it is intact. If it was saved while broken, usually not: the unreadable characters were replaced by question marks and the originals are gone.
When you see a broken file, do not save it. Find the original first. Saving is often the step that makes it unrecoverable.
Commas and line breaks cause trouble too
The next most common problem. A comma inside an address ("Flat 4, MG Road") shifts every column after it; a line break inside a note splits the row in two. Indian-style amounts like 1,25,000 are another trap: written without quotes, each comma starts a new column.
- Values containing commas must be wrapped in quotes. A properly written tool does this for you.
- Line breaks inside values are awkward in CSV. Remove them where you can.
- Store amounts as plain numbers (125000) in the sheet, and let the format add commas on screen only.
If your CSV came from a PDF table rather than a spreadsheet, the commas and text-numbers problem is covered in our guide to copying a table from a PDF into Excel.
Common questions
- Why does Excel show ??? for Hindi in CSV?
- Either Excel read a UTF-8 file with the wrong encoding, which importing via Data > Get Data > From Text/CSV fixes, or the file was saved as plain CSV and the Hindi characters were replaced by question marks, which cannot be undone in that file.
- How do I save Excel as CSV without losing Hindi?
- Use Save As and pick "CSV UTF-8 (Comma delimited)", not plain "CSV (Comma delimited)". Or export with a tool that writes UTF-8 with a BOM.
- Why does ₹ become junk?
- The ₹ sign takes three bytes in UTF-8. Read with the wrong encoding, those three bytes show as three odd characters such as ₹. Reopen or import the file as UTF-8.
- UTF-8 or UTF-8 with BOM?
- BOM if the recipient uses Excel on Windows. Plain UTF-8 for web services and developer systems.
- Can I repair a broken file?
- If it only displays wrong, reopen it correctly. If it was saved that way, usually not.
Last updated October 14, 2026 · Accurate as of October 2026.