Blog
January 14, 2026

Base44 CSV import: add spreadsheet uploads in 30 seconds

6 mins read

Base44 CSV import: add spreadsheet uploads in 30 seconds

TL;DR: Paste this prompt into Base44:

Add a CSV import feature to my app using ImportCSV.

Create an "Import Data" button that:
1. Opens a modal when clicked
2. Lets users upload CSV or Excel files
3. Shows a column mapping interface
4. Validates data before import (name required, email must be valid format, company optional)
5. Saves the imported data to my database

The importer should:
- Handle large files without timing out
- Show validation errors so users can fix issues
- Display a success message with the number of imported rows

Add this script to the page:
<script src="https://cdn.importcsv.com/embed.js"></script>

Configure the importer with my ImportCSV key: YOUR_IMPORTER_KEY

Style the button to match my app's design.

Then get your importer key from importcsv.com. Done.


The problem

You built your Base44 app in 5 minutes. Adding CSV import is taking longer.

Base44 has a built-in integration called ExtractDataFromUploadedFile that handles CSV files. According to their documentation, it can "pull structured data from uploaded files (CSV, PNG, JPG, JPEG, PDF) using JSON schemas." But there are limitations:

  • No Excel (.xlsx) support (a feature request with 725 upvotes)
  • Basic column mapping without a visual interface
  • No validation preview before import
  • Users report inconsistent behavior with CSV parsing

One user on the Base44 feedback board put it directly: "funny that it reads pdf's better than csv's."

You need something that works now, not "Planned."

The solution: ImportCSV

ImportCSV is a drop-in CSV importer that handles the hard parts:

  • Parsing: Handles delimiters, encoding, multiline fields, and other edge cases
  • Column mapping: Users see their columns and match them to your fields
  • Validation: Data is checked before it hits your database
  • Excel support: Works with CSV, XLS, and XLSX files
  • Large files: Handles 10,000+ rows with virtual scrolling

Best part: you add it with a prompt.

Step-by-step guide

Step 1: Create an ImportCSV account

Go to importcsv.com and sign up. The free tier works for testing.

Step 2: Create an importer

In the ImportCSV dashboard, click "New Importer" and define the columns you want to accept:

ColumnTypeRequired
nametextyes
emailemailyes
companytextno

ImportCSV validates against this structure automatically.

Step 3: Copy your importer key

You'll find it in your importer's settings. It looks like imp_abc123...

Step 4: Paste the prompt into Base44

Open your Base44 app in the Builder chat and paste this prompt:

Add a CSV import feature to my app using ImportCSV.

Create an "Import Data" button that:
1. Opens a modal when clicked
2. Lets users upload CSV or Excel files
3. Shows a column mapping interface
4. Validates data before import (name required, email must be valid format, company optional)
5. Saves the imported data to my database

The importer should:
- Handle large files without timing out
- Show validation errors so users can fix issues
- Display a success message with the number of imported rows

Add this script to the page:
<script src="https://cdn.importcsv.com/embed.js"></script>

Configure the importer with my ImportCSV key: YOUR_IMPORTER_KEY

Style the button to match my app's design.

Replace YOUR_IMPORTER_KEY with the key from step 3.

Step 5: Test in preview mode

Base44 generates the code automatically. Click Preview to test your import flow:

  1. Click the "Import Data" button
  2. Upload a test CSV file
  3. Map your columns
  4. Check the validation results
  5. Complete the import

Your data appears in your Base44 database.

Simpler version

If you want a shorter prompt, try this:

Add a CSV import button to my app. When users click it, they should be able to:
- Upload a spreadsheet (CSV or Excel)
- Match their columns to my fields (name, email, company)
- See any errors before importing
- Save the data to my database

Use ImportCSV (https://importcsv.com) for this feature. My importer key is YOUR_IMPORTER_KEY.

Common customizations

For product catalogs

Add a CSV import button for products. Fields to import:
- sku (required, must be unique)
- name (required)
- price (required, number)
- description (optional)
- category (optional)

Use ImportCSV with my key: YOUR_IMPORTER_KEY

For user lists

Add a CSV import feature for user data. Fields:
- email (required, valid email format)
- first_name (required)
- last_name (required)
- role (optional, default to "member")

Use ImportCSV with my key: YOUR_IMPORTER_KEY

For inventory updates

Add a bulk inventory update feature via CSV. Fields:
- sku (required, must match existing products)
- quantity (required, number)
- location (optional)

Use ImportCSV with my key: YOUR_IMPORTER_KEY

FAQ

Does this work with Base44's free plan?

Yes. The embed script approach works on all Base44 plans. You only need a paid Base44 plan (Builder, $40/month) if you want to use backend functions for custom server-side logic.

Can I customize how the importer looks?

Yes. ImportCSV supports theming. You can ask Base44 to adjust the colors by adding to your prompt: "Style the importer to match my app's color scheme."

How large a file can users import?

ImportCSV handles files with 10,000+ rows using virtual scrolling. The exact limit depends on your ImportCSV plan.

Does it work with Excel files?

Yes. ImportCSV accepts CSV, XLS, and XLSX files. This is a notable difference from Base44's built-in ExtractDataFromUploadedFile, which only handles CSV.

Do I need to enable backend functions?

No. The embed script runs in the browser. If you want to add custom server-side validation or processing, you can enable backend functions, but it's not required for basic imports.

What about the native CSV feature Base44 is working on?

The feature request for better CSV/Excel support has 725 upvotes and is marked as "Planned." ImportCSV gives you a working solution today.


Ready to add CSV import to your Base44 app? Get your importer key and paste the prompt above.


Wrap-up

CSV imports shouldn't slow you down. ImportCSV aims to expand into your workflow — whether you're building data import flows, handling customer uploads, or processing large datasets.

If that sounds like the kind of tooling you want to use, try ImportCSV .