Here are the options that can be passed to FlatfileImporter when instantiating a new instance.

Not all features are available on plans. Review your plan features.


titleAdds custom header for importer
typeType of record that is being imported. eg. "User", "Transaction"
allowCustomWhether or not to allow importing extra fields that you have not specified in your target field map.
allowInvalidSubmitWhether or not to allow submitting data that still has invalid cells in it.
fieldsConfigure the fields to map the uploaded data to. Easily setup validation, format hinting and more.
styleOverridesSpecific overrides to allow theming.
managedBoolean configuration which turns on dashboard functionality and sends data to Flatfile's servers.
maxSizeLimits file upload size to the specified number of bytes.
maxRecordsLimits file upload size to the specified number of rows.
disableManualInputDisables the ability of the user to input directly on the first step.
integrationsAllows use of non-standard fonts


type: 'Robot',
fuzziness: 0.3,
allowCustom: true,
fields: [{...}],
styleOverrides: {...},
maxSize: 400000,
maxRecords: 100 //basic plan limit



The title property allows you to customize the header on the importer. This overrides the type property shown below.

  • Required? no


The type property sets the name for the type of units your data refers to. It will be automatically pluralized as needed in Flatfile's user interface.

  • Required? no
  • Default: Record


In some use-cases you might want to be able to add new columns on the fly when matching. If allowCustom is set to true Flatfile will accommodate this. New columns will then be able to be input during the Column Match stage. New columns created this way will be made available in the _custom key of the response object. For example:

name: "John Doe",
_custom: {
"Favorite Color": "Fuschia"
  • Required? no
  • Default: false


Sometimes you want to allow submission of data that still has not passed your validation checks. If allowInvalidSubmit is set to true Flatfile will allow this.

  • Required? no
  • Default: false


Premium Plan + If you have a Premium Plan you can theme Flatfile to match your own site. Just pass in an object using one or more of the following keys and the values you provide will be used to override the default styles.

* The available keys, their default values, and what they apply to
borderRadius: '4px', // Flatfile wrapper, modals, & buttons
primaryButtonColor: '#4a90e2', // Primary buttons
linkColor: '#c6d1dd', // Links
linkAltColor: '#4a90e2', // :hover, :active, & :focus states of links
primaryTextColor: '#50535b', // Main text color, background-color of certain buttons
secondaryTextColor: '#9daab6', // 'Dimmed' text
errorColor: '#d0011b', // Invalid and error indicator borders, icons, and text
successColor: '#60b700', // Success text, buttons, icons, toggles, required indicators
warningColor: '#f6a623', // Warning text and icons
borderColor: '#e8e8e8', // Flatfile wrapper, modals, and some buttons
fontFamily: '"aktiv-grotesk", sans-serif' // Main font


Allows you to block file uploads which exceed the number of bytes specified. Manual entry is not limited by this setting.


Allows you to block file uploads which exceed the number of rows specified. Manual entry is not limited by this setting.


adobeFontsWebProjectId provide your typekit ID here to use non-standard fonts. In the example below, replace aaa12bb with your own typekit ID.

fields: ["..."],
styleOverrides: {
fontFamily: "lato, sans-serif"
integrations: {
adobeFontsWebProjectId: "aaa12bb"