Supported formats
File Input nodes accept the extensions below by default. You can limit accepted types in the File Input node settings. Parsed tabular data becomes JSONL datasets on the workflow engine (see Storage and processing).
Extension reference
Section titled “Extension reference”| Extension | Category | Processing |
|---|---|---|
.csv |
Tabular and spreadsheets | Parsed in-browser or on the workflow engine into JSONL datasets. Excel formats use server-side conversion. |
.tsv |
Tabular and spreadsheets | Parsed in-browser or on the workflow engine into JSONL datasets. Excel formats use server-side conversion. |
.psv |
Tabular and spreadsheets | Parsed in-browser or on the workflow engine into JSONL datasets. Excel formats use server-side conversion. |
.xls |
Tabular and spreadsheets | Parsed in-browser or on the workflow engine into JSONL datasets. Excel formats use server-side conversion. |
.xlsx |
Tabular and spreadsheets | Parsed in-browser or on the workflow engine into JSONL datasets. Excel formats use server-side conversion. |
.json |
Structured data | JSON arrays and objects load as structured records for downstream transforms. |
.xml |
Structured data | XML loads as structured records. Repeating sibling elements become one row each with dotted nested paths. |
.fix |
Financial data | FIX, SWIFT MT / MT940, and OFX/QFX parsed via the platform file-parser pipeline. |
.swift |
Financial data | FIX, SWIFT MT / MT940, and OFX/QFX parsed via the platform file-parser pipeline. |
.mt940 |
Financial data | FIX, SWIFT MT / MT940, and OFX/QFX parsed via the platform file-parser pipeline. |
.ofx |
Financial data | FIX, SWIFT MT / MT940, and OFX/QFX parsed via the platform file-parser pipeline. |
.qfx |
Financial data | FIX, SWIFT MT / MT940, and OFX/QFX parsed via the platform file-parser pipeline. |
.pdf |
Office and PDF | PDF and office documents route through Docling on the workflow engine for structure, tables, and text extraction. |
.docx |
Office and PDF | PDF and office documents route through Docling on the workflow engine for structure, tables, and text extraction. |
.pptx |
Office and PDF | PDF and office documents route through Docling on the workflow engine for structure, tables, and text extraction. |
.txt |
Text, markup, and captions | Plain text and markup sources for structured extraction and downstream transforms. |
.md |
Text, markup, and captions | Plain text and markup sources for structured extraction and downstream transforms. |
.markdown |
Text, markup, and captions | Plain text and markup sources for structured extraction and downstream transforms. |
.html |
Text, markup, and captions | Plain text and markup sources for structured extraction and downstream transforms. |
.htm |
Text, markup, and captions | Plain text and markup sources for structured extraction and downstream transforms. |
.adoc |
Text, markup, and captions | Plain text and markup sources for structured extraction and downstream transforms. |
.asciidoc |
Text, markup, and captions | Plain text and markup sources for structured extraction and downstream transforms. |
.asc |
Text, markup, and captions | Plain text and markup sources for structured extraction and downstream transforms. |
.tex |
Text, markup, and captions | Plain text and markup sources for structured extraction and downstream transforms. |
.latex |
Text, markup, and captions | Plain text and markup sources for structured extraction and downstream transforms. |
.vtt |
Text, markup, and captions | Plain text and markup sources for structured extraction and downstream transforms. |
.png |
Images | Raster images for OCR and document-ingest workflows via Docling. |
.jpg |
Images | Raster images for OCR and document-ingest workflows via Docling. |
.jpeg |
Images | Raster images for OCR and document-ingest workflows via Docling. |
.tif |
Images | Raster images for OCR and document-ingest workflows via Docling. |
.tiff |
Images | Raster images for OCR and document-ingest workflows via Docling. |
.bmp |
Images | Raster images for OCR and document-ingest workflows via Docling. |
.webp |
Images | Raster images for OCR and document-ingest workflows via Docling. |
XML parsing
Section titled “XML parsing”XML uploads on File Input parse to JSONL rows on the same path as JSON and FIX (browser and workflow engine).
- Repeating records: the largest list of sibling objects (length 2 or more) becomes one row per item. Nested ISO 20022 files typically explode on
TxorRcrdSts, not on a shorter nested list. - Header fields: every value outside a repeating element is kept on each row, named by its dotted path from the root element (for example
Hdr.AppHdr.BizMsgIdr). When a header name matches a record column, the header column takes the root element name as a prefix. A second repeating element in the same document is left out. - Nested fields: child elements flatten to dotted column names (for example
New.TxId). Element text sits on the parent key; attributes sit beside it (New.Pric.AmtandNew.Pric.Amt.Ccy). - Single-object documents: a document with no repeating list flattens into one row.
- Invalid XML: File Input rejects the file. It does not treat markup as CSV lines.
JSON envelopes
Section titled “JSON envelopes”A JSON file whose top level is an object loads as one row. A list inside it, such as rows in { "date": ..., "name": ..., "rows": [...] }, stays in one cell.
- Rows from the list: in a Formula operation,
splitRows(prop("rows"), "item")creates one row per item and copies the other fields onto each row. Read the item’s fields withprop("item").prop("isin"). - Lists inside lists: split once per level.
- Top-level arrays: a file that is an array of objects loads as one row per object with no further step.
Excel workbooks
Section titled “Excel workbooks”Excel uploads (.xls / .xlsx) parse on the same File Input path as CSV and JSON.
- One sheet: you get tabular rows (one workflow row per spreadsheet row). Date-formatted cells import as ISO dates; see File Input (Excel dates).
- Several sheets: you get one workflow row whose keys are the sheet names. Each sheet keeps
_sheetNameand_sheetDatawith that sheet’s columns, so schema inference can describe Sheet 3 independently of Sheet 1. A Schema node item port under_sheetData(path ending in.0) unnests that sheet into tabular rows; the_sheetDatafield port stays one nested-array cell. File Input Data preview shows a tab per sheet; canvas hover includes the sheet count when there is more than one sheet. See File Input (Excel workbooks with several sheets). - Empty sheets: skipped. A workbook with only empty sheets is rejected.
FIX parsing
Section titled “FIX parsing”FIX (Financial Information eXchange) log files load through the same File Input path as other structured imports.
- One row per message - each FIX message becomes one workflow row.
- Delimiters - SOH (ASCII 1), pipe (
|), and escaped\x01field separators are accepted in log files. - Field names - standard FIX tags map to readable column names such as
MsgTypeandSenderCompID. Unknown tags keep the numeric tag; duplicate tags can appear as arrays. - Message boundaries - messages are recognised from
8=FIX.through the10=checksum field. - Structured import - FIX rows are treated as already structured (one row per message). The importer does not suggest subgrid flattening for FIX sources.
Related finance formats on File Input: SWIFT (.swift, .mt940) and OFX/QFX use separate parsers in the same package. FIX round-trip export is supported on Egress via Save File Export.
SWIFT MT parsing
Section titled “SWIFT MT parsing”SWIFT MT files (.swift, .mt940) load as one row per message.
- Tags as columns: each field of the text block becomes a column named
tag_plus the tag, so:32A:istag_32A. A field that spans several lines keeps its line breaks. FIN messages also carryblock1toblock4with the raw blocks. - Repeating tags: a tag that occurs more than once in a message, such as the
:61:and:86:statement lines of an MT940, holds the list of its values in message order. A tag that occurs once holds text.splitRowsin a Formula operation turns the list into one row per statement line;[prop("tag_61")].flat()gives a list in both cases.
PDF and documents
Section titled “PDF and documents”PDF, office documents, and images load through Docling document extraction on the workflow engine. Loading uses no AI model.
- One row per document: the row is the extraction result without its embedded images (page renders and picture crops), so the data that flows on stays small.
document.md_contentholds the text, anddocument.json_content.tablesholds each table with its cells (data.gridis the table as rows of cells). - Rows from a table: in a Formula operation,
splitRowsover a table’sdata.gridcreates one row per table row, andprop("cells").at(0).prop("text")reads a cell. - Review tab: File Input shows the source page beside the extracted text and table cells, with hover linking the two.
- Structuring with AI: when the values you need sit in free text, add an AI node after File Input with a prompt and an output schema. That step is optional and uses the model you choose.
Learn by example
Section titled “Learn by example”The Learn extracting data from sources Workspace in the Workspaces explorer has one runnable lesson per source, each with a sample file: JSON envelopes, nested envelopes, multi-sheet Excel, XML, FIX, SWIFT MT, OFX, fixed-width text, and PDF.
Related documentation
Section titled “Related documentation”- Ingress - File Input, REST Input, and PyAirbyte connectors
- Egress - Save File Export and FIX round-trip
- Storage and processing - JSONL datasets and the workflow file store