Expense Sorted
|
By Fynn Schröder

Google CSV import lets you bring spreadsheet data into Google Sheets in seconds using File > Import or the IMPORTDATA function. Choose your delimiter, fix formatting automatically, and turn raw CSV files into clean, sortable data without any manual retyping needed.

Importing CSV files into Google Sheets is one of the most common tasks for anyone tracking expenses, analyzing data, or building automated workflows. Whether you're moving bank transactions, sales data, or budget records, getting your CSV into Sheets quickly—and correctly—saves hours of manual entry and prevents costly formatting mistakes.

This guide covers four proven methods to import CSV into Google Sheets, from the simplest drag-and-drop upload to fully automated solutions that refresh your data on a schedule. You'll also learn how to fix the most common import errors, preserve formatting, and choose the right approach for your skill level.

If you're importing financial data specifically, you may also want to explore how to auto-import CSV files with smart categorization or build a complete expense tracking workflow that goes beyond simple imports.

Try Your CSV Import Here

To import a CSV into Google Sheets, open a blank spreadsheet, click File > Import, upload your CSV, choose the delimiter, set the column data formats, and click Import data. This method preserves formatting and lets you preview changes before committing them to your sheet.

Try it yourself

See Privacy in Action

Upload any CSV file to see how data is processed entirely in your browser. Nothing leaves your device.

Start importing

The Quickest Answer: Three Ways to Import CSV

The Fastest (30 seconds): File → Open → Select your CSV

The Most Practical (5 minutes): Use an extension or Apps Script for automatic, recurring imports

The Most Powerful (custom automation): Write Google Apps Script for full control

Still confused? Keep reading—I'll walk through each option with the exact steps.

Method 1: The Built-In CSV Upload (Manual, One-Time)

Step 1: Create a New Spreadsheet

Go to sheets.google.com and click "+ Create"Blank spreadsheet

Step 2: Import Your CSV

Click FileOpen

You'll see four tabs:

  • Recent
  • Starred
  • Shared with me
  • Upload ← Click this

Step 3: Select Your CSV File

Click "Upload" and navigate to your CSV file on your computer

Step 4: Choose Import Options

Google will ask:

  • "Create new spreadsheet" or "Append to selected sheet"?

    • Choose "Create new" if this is your first import
    • Choose "Append" if you want to add to existing data
  • "Separator type": Almost always "Comma"

    • Unless your CSV uses semicolons or tabs

Step 5: Done

Google creates a new Sheet with your data. That's it.

Time required: 30 seconds
Best for: Quick one-time imports, small files


Method 2: The Code-Free Formula (For Files in Google Drive)

If your CSV file is already in Google Drive, use this formula:

=IMPORTDATA("CSV_FILE_URL")

How to Get Your CSV URL:

  1. Right-click the CSV file in Google Drive
  2. Select "Open with""Google Sheets"
  3. Copy the link from the browser
  4. Extract just the file ID from the URL:
    • https://docs.google.com/spreadsheets/d/[FILE_ID]/edit
  5. In your target sheet, use: =IMPORTDATA("https://docs.google.com/spreadsheets/d/[FILE_ID]/export?format=csv")

Time required: 5 minutes
Best for: Regular imports from files that are already in Drive

Limitation: Only works if the CSV is already a Google Sheet or accessible online. For files on your computer, use Method 1 or 3.


Method 3: Google Apps Script (The Powerful Option)

This method requires copying code, but it gives you complete control—and it's completely free.

Step 1: Open Apps Script

In your Google Sheet:

  1. Click ExtensionsApps Script
  2. A new window opens with a code editor

Step 2: Copy This Template Code

function importCSV() {
  const spreadsheet = SpreadsheetApp.getActiveSpreadsheet();
  const sheet = spreadsheet.getActiveSheet();
  
  // Replace with your CSV URL or file ID
  const csvUrl = "YOUR_CSV_URL_HERE";
  
  const response = UrlFetchApp.fetch(csvUrl);
  const csv = response.getContentText();
  const lines = csv.split("\n");
  
  let data = [];
  for (let i = 0; i < lines.length; i++) {
    data[i] = lines[i].split(",");
  }
  
  sheet.getRange(1, 1, data.length, data[0].length).setValues(data);
}

Step 3: Set Your CSV URL

Replace YOUR_CSV_URL_HERE with the actual URL to your CSV file

Step 4: Run the Script

  1. Click the Run button (or press Ctrl+Enter)
  2. Google asks for permission—click "Review permissions""Allow"
  3. Your data imports instantly

Step 5: (Optional) Set It to Run Automatically

  1. Click the clock icon (Triggers)
  2. Click "Create new trigger"
  3. Choose how often (daily, weekly, monthly)
  4. Your CSV imports automatically on that schedule

Time required: 10-20 minutes (first time), then automatic
Best for: Regular imports from files that change, complete customization

Why use this? Apps Script is free, runs automatically, and you control exactly how data lands in your sheet.


Method 4: Extension-Based Import (The No-Code Solution)

Extensions handle everything—no coding required.

Popular Options:

  • Expense Sorted Extension — Includes automatic AI categorization (perfect if you're tracking expenses)
  • Coupler.io — General-purpose CSV importer
  • Sheetgo — Advanced automation
  • Layer — Simple, focused CSV import

How They Work:

  1. Install the extension
  2. Connect your CSV source (upload file, Google Drive, cloud storage)
  3. Map which columns go where
  4. Enable auto-refresh
  5. Done—it updates automatically

Time required: 5 minutes
Best for: Non-technical users, frequent imports, automatic scheduling


FAQ: Common Questions Answered

Q: Can I import from a URL?

A: Yes, if the URL points directly to a CSV file. Example: example.com/data.csv

If the CSV is on Google Drive:

=IMPORTDATA("https://docs.google.com/spreadsheets/d/FILE_ID/export?format=csv")

Q: My data has dates. Why are they showing as numbers?

A: Google is displaying them as "serial dates." Fix it:

  1. Select the column
  2. Format → Number → Date
  3. Choose your preferred date format

Q: Can I import data from Excel (.xlsx)?

A: Not directly through IMPORTDATA. Convert it to CSV first:

  • In Excel: File → Save As → CSV
  • Then import using any method above

Or use an extension like Coupler.io that handles both formats.

Q: My CSV has semicolons instead of commas. How do I import?

A: When uploading, Google will ask about delimiter. Choose "Semicolon" in the import options.

Or in IMPORTDATA, it won't work—you'll need Apps Script or an extension for custom delimiters.

Q: Can I automate imports to happen every day?

A: Yes, with Apps Script (free) or extensions (varies by tool).

  • Apps Script: Set a trigger to run daily (see Method 3, Step 5)
  • Extensions: Most let you set auto-refresh schedules
  • IMPORTDATA: Updates whenever the sheet recalculates, usually automatically

Q: My CSV file is huge (100,000+ rows). Will it work?

A: Google Sheets has limits (5 million cells max). Large files might hit limits.

Consider:

  • Breaking into smaller files
  • Using BigQuery for analytics instead
  • Importing only recent data

Q: How do I append new data without replacing old data?

A: During import, choose "Append to sheet" option instead of replacing.

Or in Apps Script, use .getRange() with specific row numbers to target where data lands.

Q: My CSV keeps getting corrupted during import. Help?

A: Usually a character encoding issue. When you save your CSV:

  1. Make sure it's UTF-8 encoded (not ASCII)
  2. Use comma delimiters
  3. Avoid special characters or escape them properly

Test with a smaller version first.


The Complete Workflow: From CSV to Insights

Importing is just step one. Here's the full path to financial clarity:

1. Import Your CSV (← You are here)

  • Use the method that fits your skill level

2. Automatically Categorize

3. Categorize Transactions in Excel

4. Build Your Dashboard

5. Start Budgeting with a Free Template

6. Calculate Your Financial Runway

Each step builds on the last. Start with CSV import, then automate the rest.


Bottom Line

Don't waste hours on complex solutions.

  • New to this? Use Method 1 (built-in upload) for your first import
  • Importing regularly? Graduate to Method 3 (Apps Script) or an extension
  • Want zero technical headache? Use an extension

The goal isn't to become a Google Sheets expert. It's to spend 5-10 minutes setting up, then never think about imports again.

Your data. Your automation. Your freedom.

auto-import CSV files with smart categorization

expense tracking workflow

budget spreadsheet template

Expertise: Fynn Schröder is the founder of Treasure Island with 10+ years building financial automation tools. His expertise in Google Sheets workflows and CSV data processing ensures every recommendation in this guide is tested and reliable.

Frequently Asked Questions

How do I import a CSV into Google Sheets without losing formatting?

Use File > Import instead of File > Open. After uploading your CSV, the Import dialog lets you choose delimiter types, column data formats, and whether to replace or append the current sheet, which preserves your existing formatting.

Can I automatically update a Google Sheet when a CSV file changes?

Yes, you can use Google Apps Script with a time-driven trigger to fetch the CSV from a URL at set intervals and overwrite the sheet contents with the latest data.

What is the difference between IMPORTDATA and File > Import in Google Sheets?

IMPORTDATA is a formula that pulls live data from a CSV URL into a sheet, but it has limited formatting control. File > Import is a manual upload that gives you full control over delimiters, column formats, and where the data is placed.

Why does my CSV data split into the wrong columns in Google Sheets?

This usually happens when the delimiter is incorrect. During import, check the Separator type option and select the delimiter your CSV actually uses—typically a comma, but sometimes a semicolon or tab.