๐ค Spreadsheets ยท 7 min read
How to Import CSV Into Google Sheets: 4 Ways (2026)
Yes, Google Sheets imports CSV files for free, and you have four routes. Upload the file with File โ Import, paste the raw text and split it into columns, pull a CSV from a public URL with =IMPORTDATA(), or schedule the whole thing with Apps Script. Pick by how often the data changes: a one-time file is an upload, an occasional batch is a paste, a live feed wants IMPORTDATA, and a recurring sync deserves a script. Nearly every failed import traces back to one of two causes: the wrong delimiter or a character encoding mismatch.
Why Move a CSV Into Sheets at All?
CSV files are fine for storage and terrible for collaboration. Two people open the same file, both save, and one set of edits silently wins. Sheets replaces that with one live file that comments, formulas, and sharing permissions all work on. It also sidesteps a hard Excel limit: Microsoft caps worksheets at 1,048,576 rows, which is why a 2-million-row export simply refuses to open in Excel.
Sheets has its own documented ceiling of 10 million cells or 18,278 columns, and Google states the limits are identical for Excel and CSV imports. A 100,000-row export with 20 columns fits comfortably. A 3-million-row log does not, and the FAQ below covers what to do when a file exceeds the cap.
Method 1: File โ Import โ Upload (One-Time Files)
- In Sheets, open File โ Import โ Upload and pick your CSV.
- In the dialog, choose Create new spreadsheet (or replace the current sheet).
- Under Separator type, leave Detect automatically for standard commas. Semicolon files need Custom โ ;.
- Leave Convert text to numbers and dates on for clean data. Turn it off when the file holds IDs, zip codes, or anything with leading zeros.
- Click Import data and check the first rows before you trust the rest.
Best for: one-off files, exports from CRMs and banks, anything under the 10-million-cell cap.
Method 2: Paste and Split (Quick Edits)
For a small batch you already have in your clipboard, pasting beats uploading:
- Copy the CSV text and paste it into column A of a blank sheet. Each line lands in its own row.
- Select the column, then open Data โ Split text to columns.
- Pick Comma, or Custom and type
;for semicolon files.
The paste route skips the import dialog, which means no automatic number conversion. Long IDs stay intact by default, which is often exactly what you want when handling order numbers.
Best for: small batches, clipboard data, files where IDs must not be reformatted.
Method 3: =IMPORTDATA() for Live URLs
When the CSV lives at a stable public URL, one formula keeps the sheet in sync:
=IMPORTDATA("https://example.com/exports/sales.csv")Google's documentation lists IMPORTDATA as the function that imports a CSV or TSV from a given URL. It refreshes when the spreadsheet recalculates โ roughly once an hour while the file is open. That cadence suits daily reports, not anything that needs second-level freshness. The URL must be public and serve plain CSV; a page that requires login will not work. Keep feeds modest in size, since Google caps how much a single import fetch can pull.
Best for: public datasets, exchange rates, weather feeds, anything published on a schedule.
Method 4: Apps Script or Add-Ons (Scheduled Imports)
For imports that must run at a precise time, Google Apps Script pulls the file and writes it into the sheet:
function refreshCsv() {
const text = UrlFetchApp.fetch("https://example.com/exports/sales.csv").getContentText();
const rows = Utilities.parseCsv(text);
const sheet = SpreadsheetApp.getActiveSheet();
sheet.getRange(1, 1, rows.length, rows[0].length).setValues(rows);
}Attach a time trigger in the Apps Script editor and the sheet updates itself daily. Marketplace add-ons such as Coupler or Apipheny wrap the same idea in a point-and-click UI if you would rather not read code.
Best for: daily or hourly syncs, dashboards that must look fresh at 9 a.m.
Four Ways to Import a CSV Compared
| Method | Best when | Auto-refresh | Number conversion | Skills needed |
|---|---|---|---|---|
| File โ Import โ Upload | One-off file | No | Optional toggle | None |
| Paste + Split text to columns | Small clipboard batch | No | No | None |
| =IMPORTDATA(url) | Live public CSV | ~hourly while open | Formula-level | Basic formula |
| Apps Script / add-on | Fixed-schedule sync | Your schedule | Full control | Script or add-on |
Five Import Failures and the Fix for Each
- Everything lands in one column. The file uses semicolons or tabs. Re-import with a custom separator of
;or\t, which matters for most European exports. - Long IDs turn into 1.23E+15. Sheets stores numbers as floating point and drops precision past 15 digits. Set the column to Plain text before importing, or keep number conversion off.
- Leading zeros disappear. Zip codes and product codes such as 00742 arrive as 742. Same fix: Plain text format first, then import.
- Characters come out garbled. The CSV was saved in ANSI or Latin-1 instead of UTF-8, or the byte order mark is missing. Re-save as UTF-8, the same fix our encoding guide covers for Excel.
- The file refuses to import. It exceeds the 10-million-cell cap. Split the file into chunks or filter rows down before importing, and keep the master copy safe.
If the file is messy before the import even starts, stray commas, duplicate rows, mixed date formats, run it through our cleaning guide first. And when a colleague sends a spreadsheet you need back as CSV, the reverse trip is covered in how to convert Excel to CSV.
Frequently Asked Questions
Is importing a CSV into Google Sheets free?
Yes. Every built-in route โ file upload, clipboard paste, or the IMPORTDATA function โ works on a free Google account. Marketplace add-ons that schedule imports on your behalf may charge, but the built-in routes cost nothing.
Can Google Sheets open a CSV with 500,000 rows?
It depends on the column count. Google documents a ceiling of 10 million cells or 18,278 columns per spreadsheet, and the same limits apply to CSV imports. A single-column file can hold millions of rows, while a 20-column file tops out around 500,000 rows. Bigger files should be split or filtered before import.
Why does my CSV import with everything stuck in one column?
The delimiter does not match. European files often use semicolons instead of commas, so choose a custom separator of ; in the import dialog, or use Data โ Split text to columns after pasting. Files saved with a UTF-8 BOM usually import with the right delimiter automatically.
Why do long numbers turn into 1.23E+15 after import?
Google Sheets stores numbers as floating point, so IDs with more than 15 digits lose precision. Format the destination column as Plain text before importing, or turn off number conversion in the import dialog, so order numbers and serials arrive untouched.
Can I auto-import a CSV from a URL into Google Sheets?
Yes, with the IMPORTDATA function, which pulls a CSV or TSV straight from a public URL and refreshes when the spreadsheet recalculates, roughly once an hour while the file is open. For an exact schedule, Google Apps Script with a time trigger gives full control.
Does importing change my original CSV file?
No. Import reads a copy into the spreadsheet and leaves the source file untouched. You can also go the other way with File โ Download โ CSV when a collaborator needs the data back as a plain file.
What is the best way to keep a team CSV updated?
Keep the master copy inside Sheets itself instead of importing the same file over and over. Everyone edits one live spreadsheet, and you export a CSV snapshot with File โ Download whenever an external system needs it.
Tools mentioned in this guide
Want to go further with AI-powered data work? These tools pair well with NoCodeCSV:
- Stack AI โ connect your CSV source to Google Sheets and let an AI workflow handle the fetch-and-clean step before the data lands, on your schedule. Try Stack AI
- Softr โ connect the imported sheet to a customer portal or internal tool, since Softr reads Google Sheets as its data source. Try Softr
- Toggl Track โ recurring CSV cleanup and imports quietly eat hours; log them and see the real cost per report. Try Toggl
Some links above are affiliate links โ if you buy through them we may earn a commission at no extra cost to you. Links currently point to each vendor's official partnership page until our dedicated tracking links are registered.
Clean the File Before the Import
Upload your CSV and let the AI analyzer flag duplicates, stray delimiters, and missing values before they reach Sheets.
Related reading
File Operations โ other guides that pair well with this one.
Browse all guides in the NoCodeCSV blog.