Flatfile Portal: the elegant import button for your web app

Portal is a drop-in data importer that implements in hours, not weeks. Give your users the import experience you always dreamed of, but never had time to build.

No credit card required

Import users

Any CSV, XLS, or TSV accepted

Trusted by

Customer data onboardingmade easy for everyone involved


Flatfile’s JavaScript configurator allows you to set a target model for data validation, allowing users to match incoming file data.

Get started
  • Automatically handles encoding types
  • Quick to install with SDKs for major JS frameworks
  • Runs in the browser with minimal dependencies

Match headers



Flatfile learns over time how data should be organized, saving time and making the process more efficient for your customers.

Get started
  • Automatic column matching recommendations
  • Labeling functions self-improve over time
  • Define a static or dynamic data model with ease

Priority has been automatically matched



Flatfile’s validation features give you control over how data is formatted. Ensure imported data is clean and ready to use.

Get started
  • Human-in-the-loop™ experience guides users through an intuitive flow
  • Dead ends don’t exist, ensuring you get the most clean data possible
  • Admin dashboard lets you pick up where your customers left off

Zip code must be five digits

Zip code
const isZip = /^\d{5}(-\d{4})?$/;

if (record.country === "US") {
  if (!isZip.test(record.postalCode)) {
    return [{
      key: "zipCode",
      message: “Zip code must be five digits”

Complete the demo inside our dashboard

You've experienced the importer, now sign up to see how our dashboard helps your team find customer uploads, gain insights into your import process, and configure the importer.

We recommend downloading our example file for the demo, but any CSV will work


Try it now

Try the import flow with our file in a custom configuration
Complete the demo in the admin dashboard to view import analytics
Start demo

Match headers

Flatfile.io - Automatically match imported CSV data. Flatfile allows users to review and correct errors with imported spreadsheet data directly from the importer.
import FlatfileImporter from "flatfile-csv-importer";
let importer = new FlatfileImporter(LICENSE_KEY, {
  type: "User",
  fields: [{
    label: "First name", 
    key: "fname",
  • Get a license key

    Once you have registered for Flatfile, you’ll get a license key that connects your application to Flatfile.

  • Configure the Portal

    After obtaining your license key, you can configure your Flatfile JS snippet with your expected data model and validation options.

  • Connect the data

    Once the importer is configured, you simply need to tell it where and how to send the import results.

  • Add an upload trigger

    After that, all you need to do is add some way in your application to start an upload (like a button!).


Our extensive features make Flatfile the go-to data importer for any web app. We actively listen to our users, and continuously iterate on Flatfile to achieve our goal of solving all data-import problems.

Get started



The Flatfile importer automatically translates to your customer's chosen system language

Data hooks


Advanced functions for in-line data validation and transformation

Upload CSV, XLS, or paste data

Allow data to be uploaded using a CSV, XLS, or even manual pasting from the user's clipboard

AI-assisted imports

Automatically match 95% of imported columns using machine-learning and fuzzy matching


Coming soon

Pull data from Flatfile directly into your application database by setting up a webhook listener

Customize styles

Personalize the Flatfile importer to match the look and feel of your app

Browse & search import history

View past file imports and metrics such as rows imported, recent import errors, and file upload time

Shareable link

Coming soon

Send your customers a link to let them easily import files to your target data structure

Replay imports to diagnose issues

Analyze past data uploads to help resolve import issues without any guess work

Client-side data mapping

Let users fix, match, and repair spreadsheet errors seamlessly before uploading the data

Data healers

Coming soon

Automated healers identify and transform data into its ideal state

Custom validation


Programmable validation callbacks that compare columns across a record

GDPR Compliance

Flatfile is fully GDPR compliant and can easily execute a data processor agreement with your company

Data security

Robust security architecture leveraging AWS S3 and options for client-only and on-premise implementation

Expanded file type support

Coming soon

Ingest, parse, and import data from XML, PDF, JPEG, and more

Easy to configure UI component

Instantly modernize the look and performance of your data imports with a few lines of code

The user experience in Flatfile is paramount; it’s simple and seamless-

Silas GarrisonCEO at Healthspace


All Flatfile Portal plans come with unlimited end users, unlimited admin users, and unlimited records imported.


Up to 50
Get started
  • Supports CSV, TSV, XLS
  • Smart data labeling
  • Custom styling
  • Regex validation
  • Admin dashboard
  • API and webhooks


Up to 2500
Contact us
  • Everything in Starter, plus:
  • Custom validation functions
  • Data hooks
  • Server callbacks
  • Normalization functions
  • Async import editing


Contact us
  • Everything in Growth, plus:
  • Whitelabeling option
  • On-premise deployment
  • Custom SLA
  • Shared support channel
  • Custom implementation
Trusted by

Ready to get started?

Flatfile.io - Automatically match imported CSV data. Flatfile allows users to review and correct errors with imported spreadsheet data directly from the importer.