PDFGami Logo
v2.25.0
Free · Secure · Browser-Only

How to Open a CSV File — and Read It Like a Spreadsheet

By AIC Innovation·Published ·9 min read

Someone handed you a file ending in .csv — an export from a website, your CRM, your bank, or an AI coding assistant that pulled some data for you. Double-click it and it may open in Excel with values under the wrong headings, or everything crammed into the first column. Or it opens in Notepad as line after line of text and commas. This guide explains what a CSV file actually is, how to read it as the table it is, what to do when the columns come out shifted, and how to open it in PDFGami's CSV viewer without installing anything. No spreadsheet or programming experience is assumed.

Your CSV file never leaves your computer

The CSV viewer processes the file entirely in your browser: it is read and parsed by JavaScript in your own tab and is never uploaded — which matters when the file is a customer list or a bank export. To verify it, open your browser's developer tools (F12, or Cmd+Option+I on a Mac), switch to the Network tab, and drop your file in: no request carries it.

Open the CSV Viewer

What a CSV file actually is

CSV stands for comma-separated values. A CSV file is plain text — the same kind of file Notepad writes — laid out so that a program can rebuild a table from it. It is not a spreadsheet file: it holds no formulas, colours or multiple sheets, and it does nothing when you open it. The whole format fits in four rules:

  • Each line is one row. A row is one record: one customer, one order, one bank transaction.
  • A separator splits the line into cells. A cell is one box of the table, and the separator (also called the delimiter) is the character that marks where one cell ends and the next begins — usually a comma.
  • The first line is usually the header row. It holds the column names, such as email or total, rather than data.
  • Quotes protect values that contain the separator. A name like "Kim, Min-jun" is wrapped in double quotes so its comma is read as part of the name, not as the edge of a cell. A double quote inside such a value is written twice: "".

Close relatives follow the same rules with a different separator: a .tsv file uses tabs, and some exports use semicolons or the pipe character |. Because the format is so simple, almost every program that stores records can write one, which is why it sits behind the Export button of CRMs, banking sites, online shops and analytics dashboards — and why an AI assistant asked for “a spreadsheet” so often hands you a .csv.

The simplicity has a price. A CSV file carries no note of which separator it uses, which encoding its text is in, or whether 00123 is a number or a code. Nearly all CSV trouble comes from a program guessing one of those wrongly.

Read it like a spreadsheet

Here is a small order export: a header row and four rows of data.

order_id,customer,city,total,paid_on
1001,Grace Hopper,Arlington,49.00,2026-08-03
1002,"Kim, Min-jun",Seoul,120.00,2026-08-05
1003,Ada Lovelace,London,0,
1004,Linus Torvalds,Portland,49.00,2026-08-11

Read it line by line. The first line names five columns. Each line after it is one order, and its commas divide it into five cells in the same order as the names. In the second order the customer's name contains a comma, so it is wrapped in double quotes; the quotes are not part of the name, they just tell the reader not to split there. The third order ends with a comma followed by nothing, which means its last cell, paid_on, is blank. Laid out as a table, the same data looks like this:

order_idcustomercitytotalpaid_on
1001Grace HopperArlington49.002026-08-03
1002Kim, Min-junSeoul120.002026-08-05
1003Ada LovelaceLondon0(blank)
1004Linus TorvaldsPortland49.002026-08-11

Paste exactly that text into the CSV viewer and its What is in this filebox reads it back to you: a table of 4 rows and 5 columns, “the same thing you would see in a spreadsheet”. It lists order_id and total as numbers, paid_on as dates, and customer and city as text. It says one column has blank cells, most in paid_on (1 of 4), and that order_id is different in every row, so it is probably an ID. The last line names the separator and the encoding. On a real export with 40,000 rows, that paragraph tells you what you hold before you scroll at all.

Open a CSV file in four steps

  1. 1
    Open the viewer. Go to pdfgami.com/csv-viewer. Nothing to install and no account. A Load a sample file button lets you try it before using your own data.
  2. 2
    Drop the file or paste. The viewer accepts .csv, .tsv, .tab, .psv and .txt files; anything else is turned away with a message rather than opened as nonsense. If the data is sitting in a chat or a terminal, open Or paste CSV text and paste it there.
  3. 3
    Check the settings above the table. Separator shows what was detected — comma, semicolon, tab or pipe. Rather than counting commas on the first line, the parser tries each candidate and keeps the one that splits the lines into consistent numbers of cells; if it still guesses wrong, pick the right one. First row is headers is on by default; untick it if the first line is data, and the columns are named Column 1, Column 2 and so on.
  4. 4
    Read the summary, then the table. The summary tells you what you have; the table below it shows the data itself.

Sorting, filtering and column details

The table shows 100 rows per page, with arrows to move between pages. A #column on the left gives each row's position in the file, so row 2,417 is still labelled 2,417 however you sort or filter.

Click a column heading to sort by it: once for ascending, again for descending, and a third time to go back to the file's own order. Columns recognised as numbers sort as numbers, so 9 comes before 10 rather than after it, and blank cells go to the bottom whichever direction you choose.

Type into Filter rows to keep only the rows where any cell contains your text, ignoring upper and lower case. A number beside the box counts the matches, and the line under the table says how many rows they were filtered from. Filtering for a surname, an order number or @gmail.com is the quickest way to find one record in a long export.

Show column details opens a second table with one line per column: what it holds (number, date, true/false, text, mixed or empty), how many cells are filled and how many blank, how many different values appear, and either the smallest and largest number or an example value. A single stray N/A does not stop a column counting as numbers — up to 5% of the filled cells can be something else — so a column marked mixed genuinely holds more than one kind of value.

When the columns are shifted

The most common CSV complaint is a table whose values sit under the wrong headings: a city in the total column, a price where the date should be. Nearly always, one value contained the separator and was not wrapped in quotes. Take the quotes away from the second order in the example above:

1002,Kim, Min-jun,Seoul,120.00,2026-08-05

That line now has six cells instead of five. Kim and Min-jun are split apart, and every value after them moves one column to the right. The viewer does not hide this. Above the table, a warning names the rows whose number of cells differs from the header — here, row 2 — listing the first five when there are more, and an extra Column 6 appears at the right so the spilled value has somewhere to show. The row numbers count data rows, the same as the # column, so you can go straight to the culprit.

The opposite fault is a quote that is opened and never closed, which makes a reader treat everything after it as one enormous cell. The viewer reports that too, with the row it starts near. Either way, the lasting fix is at the source: export again, or ask whoever produced the file — your assistant included — to quote every value that contains a comma.

A different problem puts every value in one column: the separator is not the one the reading program expects. Much of Europe writes three and a half as 3,5, so Excel there uses semicolons; open a comma file in that setup, or a semicolon file elsewhere, and whole lines land in column A. The viewer detects comma, semicolon, tab and pipe on its own, and the Separator menu overrides it.

Excel also converts values as it opens the file: leading zeros vanish from postcodes and account codes, long ID numbers turn into scientific notation, and some codes become dates. The viewer shows each cell's text as it is written in the file. And if the columns are fine but the words are not — é where an ébelongs, or symbols where Korean or Japanese should be — the cause is the file's encoding, the scheme that maps its bytes to letters. The viewer detects Korean, Japanese, Chinese and Western legacy encodings from Excel exports and reads them correctly; our guide to garbled characters in CSV files explains why it happens and how to stop it.

Other ways to open a CSV, and what .xlsx is

You do not need Excel to open a CSV file. Each option suits a different job:

  • A text editor — Notepad on Windows, TextEdit on a Mac — shows the raw text. Fine for a glance at a small file, hopeless for forty columns.
  • A spreadsheet program — Excel, Numbers, LibreOffice Calc or Google Sheets — can import CSV when you want to calculate with the data. Use its import option (in Excel, Data then From Text/CSV) rather than double-clicking, so you can choose the separator and encoding yourself.
  • A browser-based viewer for when you only need to look, search or check the file before passing it on. The CSV viewer needs no install and keeps the file on your device.

A file ending in .xlsxis not a CSV. It is Excel's own workbook format, a compressed package that can hold several sheets, formulas and formatting, and the CSV viewer does not open it. To view that data here, open the workbook in Excel, use Save As, pick a CSV type (CSV UTF-8 if it is offered), and open the saved file.

Taking the table somewhere else

Two buttons sit under the table. Download for Excel (UTF-8) saves the table as a comma-separated file that begins with a byte-order mark — a few invisible bytes that tell Excel the text is UTF-8 — so accented and non-Latin text survives being opened there. A semicolon, tab or pipe file is written back out with commas, which makes this a quick way to turn a TSV into an ordinary CSV. The copy is named after the original, with .utf8.csv on the end.

Download as JSON saves each row as a record whose fields are named after the columns — the format most programs and AI assistants prefer to receive. Every value is kept as text, exactly as it appeared in the file. Drop the result into the JSON viewer to browse it as a tree.

Both downloads contain every row in the file's original order; sorting and filtering change only what is on screen. The viewer does not edit cells. For JSON and Markdown files, see the other file viewers, which work in your browser the same way.

Frequently asked questions

What is a CSV file?

A plain-text file that stores a table. Each line is one row, and a separator — usually a comma — divides the line into cells. The first line normally holds the column names. A value that contains the separator is wrapped in double quotes so it stays in one cell. There are no formulas, colours or multiple sheets, which is exactly why nearly every program can read and write one.

How do I open a CSV file without Excel?

Any text editor, such as Notepad or TextEdit, opens it as raw text. To see it as a table without installing anything, use a browser-based viewer. PDFGami's CSV viewer lays the file out as a sortable, filterable table and describes its columns in plain English, and it reads the file inside your browser rather than uploading it. Google Sheets, Numbers and LibreOffice Calc can also import CSV files.

Why are the columns in my CSV shifted?

Almost always, a value that contains a comma was not wrapped in double quotes, so it split into two cells and pushed everything after it one column to the right. An opening quote that is never closed does the opposite and swallows the rest of the file into one cell. The CSV viewer names the rows whose number of cells differs from the header, listing the first five, and reports an unclosed quote with the row it starts near.

Why does Excel put my whole CSV into one column?

The file uses a different separator from the one Excel expects. In regions where the comma is the decimal mark, Excel uses semicolons for CSV, so a comma-separated file lands entirely in column A — and a semicolon file does the same elsewhere. Import the file through Excel's Data menu and choose the separator, or open it in the CSV viewer, which detects comma, semicolon, tab and pipe on its own.

Why does my CSV show strange symbols instead of letters?

That is an encoding mix-up: the file was saved in one character encoding and read as another, most often a regional encoding written by Excel on Windows being read as UTF-8. The CSV viewer detects Korean, Japanese, Chinese and Western legacy encodings and reads them correctly, and its Download for Excel button saves a UTF-8 copy. Our separate guide to garbled characters in CSV files explains the cause in full.

Can the CSV viewer open .xlsx Excel files?

No. An .xlsx file is Excel's own workbook format, not a CSV, and the viewer does not open it. To view the data here, open the workbook in Excel, use Save As, choose a CSV type (CSV UTF-8 if it is offered), and open that file instead.

Can I edit a CSV in the viewer?

No. It is a viewer: you can sort, filter, change the separator and header setting, inspect each column, and download the table as a UTF-8 CSV or as JSON, but you cannot change a cell. The downloads contain every row in the file's original order, whatever is filtered or sorted on screen at the time.

Is my CSV uploaded anywhere?

No. The viewer reads the file with JavaScript in your browser tab and parses it there; it is not sent to a server. To check, open your browser's developer tools (F12, or Cmd+Option+I on a Mac), go to the Network tab and drop the file in: no request will carry it.

How large a CSV file can it open?

There is no fixed limit; the practical ceiling is your device's memory, because the whole file is read into the tab. The table shows 100 rows at a time so the page stays quick to scroll, but a very large file can take a moment to read, sort or filter.

Open your CSV file now

Drop the file or paste the text, read what is in it in plain English, and sort or filter to the row you need. Free, no account, and the file never leaves your device.

Open the CSV Viewer