Fix: Google Sheets CSV Columns Misaligned
Two different symptoms get reported as "too many columns" in Google Sheets: everything piles into column A, or most columns split correctly but a few rows shift partway through. They have different causes, here's how to tell which one you have and fix it for free.
Symptom A: the entire file is in column A
This is a delimiter mismatch, Google Sheets' auto-detection guessed comma but your file uses semicolons, tabs, or a pipe (|), or vice versa.
Fix, if you haven't imported yet:
- File → Import → Upload, select the file.
- In the import dialog, find Separator type and change it from "Detect automatically" to the actual delimiter (Comma, Semicolon, Tab, or Custom).
- Choose Replace/Append/New sheet, then Import.
Fix, if it already imported wrong:
- Select column A.
- Data → Split text to columns.
- A separator dropdown appears at the bottom-right of the selection, pick the actual delimiter (or "Custom" to type it in).
Symptom B: most columns are correct, but a few rows shift
This is a per-row problem, not a file-wide delimiter issue: a specific field contains the delimiter character (usually a comma inside an address, name, or description) without being wrapped in double quotes. Google Sheets has no way to know that comma is part of the value rather than a column boundary.
Find the affected rows with our free CSV Lint tool, paste the file and it flags every line whose field count doesn't match the header, so you're not scrolling through thousands of rows manually.
If you imported with IMPORTDATA instead of File → Import
=IMPORTDATA(url) pulls a CSV from a URL directly into a cell formula rather than through the import wizard, and it has no delimiter picker at all, it assumes comma. If the source is semicolon- or tab-delimited, the whole row lands in one cell the same way it would from a wrong auto-detection, and there is no dialog to override it.
Fix: download the file locally first and use File → Import with an explicit separator instead of IMPORTDATA, or wrap the formula's result with SPLIT() on a fixed delimiter, e.g. =ARRAYFORMULA(SPLIT(IMPORTDATA(url), ";")), though this only works cleanly when no field itself contains that delimiter.
Preventing this the next time you export the file yourself
If you control how the CSV is generated in the first place (an export script, a database query, another spreadsheet), the fix belongs upstream instead of being repeated on every import:
- Pick one delimiter and standardize on it. Comma is the most widely assumed default across import tools; if your locale or source system defaults to semicolon, say so explicitly to whoever receives the file instead of leaving it to be guessed.
- Always quote text fields that could contain the delimiter (addresses, names with suffixes, free-text notes). Most CSV libraries (Python's
csvmodule, pandas'to_csv) support aQUOTE_NONNUMERICorQUOTE_ALLmode that wraps every text field automatically instead of only when a delimiter happens to be present. - Run a quick check before sending it out. Paste the file into CSV Lint once before distributing it, catching a field-count mismatch before a colleague spends time debugging their import is faster than fixing it after the fact.
Doing this in How To CSV
Auto Fix detects the real delimiter and normalizes quoting for fields that contain it, so the re-imported file lands correctly on the first try instead of needing a manual Text-to-Columns pass.
Fix it before you re-import, free
Normalize delimiters and quoting in your browser, no upload.
Fix My FileTurn this into a saved workflow
Create a free account to save the steps from this guide as a reusable workflow and re-run it on any file, from any device.
Follow HowToCSV on Google
Add us as a preferred source on Google Search so our latest CSV guides and tutorials surface more often in your Top stories.