Supported files

Every file type Agnos reads, what it takes from each, the size limits, and what it refuses.

What Agnos reads

KindExtensionsLargest file
PDF.pdf300 MB and 5,000 pages
Word.docx100 MB
PowerPoint.pptx100 MB
Excel.xlsx100 MB and 2,000,000 cells
Web pages.html .htm .xhtml25 MB
CSV and TSV.csv .tsv200 MB
JSON records.json64 MB
JSON records, one per line.jsonl .ndjson200 MB
Plain text.txt .text .md .markdown .rst .log .tex200 MB
Markup and config, read as text.css .xml .yaml .yml .ini .cfg .conf .toml .properties200 MB
Source code, read as text.py .js .mjs .cjs .ts .jsx .tsx .java .c .h .cc .cpp .hpp .cs .go .rs .rb .php .swift .kt .scala .sql .r .m .lua .pl .sh .bash .zsh .fish .ps1 .bat200 MB

Agnos also cleans at most 100,000,000 characters of text and 1,000,000 records or rows from one file, and one line of a JSONL file can be at most 8 MB. A file over a limit is refused with the limit; split it into smaller files.

Before accepting a file, Agnos checks that your drive has room for it and for what it will make from it. If not, the message says how much space is needed.

To add a whole folder, see Import documents.

Details by file type

PDF

  • Agnos reads each page's text layer. A page without one, such as a scan, is skipped and named in the file's warnings. A PDF with no text at all is refused.
  • Filled-in form fields are read as field name: answer. Password fields, signatures and buttons are not. Forms made with Adobe LiveCycle (XFA) may not give up their answers.
  • Not read: comments, highlights and attached files.
  • PDF reading mode: Text only is fast. Layout is slower, and is the only mode that reads tables.
  • Each piece records its pages. A page can be off by one where a sentence runs across a page break.

Word

  • Read: body text, headings, tables, text boxes, and footnotes and endnotes (placed after the paragraph that cites them).
  • Not read: comments, tracked deletions, page headers and footers, and text in charts or SmartArt.
  • Numbers that Word adds to lists, such as “1.” or “a)”, do not come through. The list items do.
  • A cell merged across columns is written once. A cell merged down several rows is repeated on each row.
  • Word has no fixed pages, so pieces carry their headings instead of page numbers.

PowerPoint

  • Read: titles, text boxes, tables and grouped shapes.
  • Speaker notes and hidden slides are left out unless you turn on PowerPoint: read speaker notes or PowerPoint: read hidden slides. The warnings say when a deck has either.
  • Not read: pictures, and text in charts, SmartArt and embedded objects.
  • Each piece records its slides.

Excel

  • Read: the cell values of every visible sheet. Hidden sheets are skipped and named in the warnings.
  • Not read: comments and charts. Formulas, formatting, merged cells and column types are not kept.
  • Each sheet becomes tab-separated lines under a # Sheet: <name> heading.
  • A formula with no stored result comes through empty. This is common in workbooks made by a script: open it in Excel, let it recalculate, save it and add it again.

CSV and TSV

Spreadsheets and CSVs, in Settings under Reading files, applies to Excel files too:

Rows
Each sheet becomes tab-separated lines. Safe for anything.
Records
Each row becomes its own piece, with one name: value line per filled cell. Suits a table where each row is one thing, such as a ticket or an order.

In Records mode, the first row is a header only if it is all text with no repeated names; otherwise the columns are called column_1, column_2 and so on. Values such as 00123, +44, 1,200 and 01/03/2024 stay text.

Web pages

HTML extraction mode sets how much of a saved page to keep: Article keeps the main text and drops navigation, Raw keeps all visible text, and Auto uses Article when it can and Raw otherwise.

Other settings keep the page's headings, lists, tables and link addresses.

JSON and JSONL

  • A .jsonl or .ndjson file holds one record per line.
  • A .json file must hold a list of records, or one object whose only list holds them. It is read whole, so its limit is lower; save a bigger file as .jsonl.
  • Agnos reads one text field from each top-level record. Records nested inside records are not unpacked.
  • JSON text fields (empty = detect) names the field that holds the text. Left empty, Agnos works it out and says which field it used. A dotted name such as data.body reaches into a nested object.
  • JSON fields to keep beside the text carries other fields, such as a status or a date, on each piece: up to 20 fields of up to 2,000 characters.
  • A malformed line is reported with its number. The file is refused if the first line is malformed, or more than one line in twenty.
  • A piece never mixes text from two records.

Plain text and code

Read as it is. Agnos detects the encoding (UTF-8, UTF-16 or UTF-32 with a byte-order mark, or Windows-1252); Auto-detect Encoding and Fallback Encoding, under Reading files, change that. A file that is mostly binary data is refused.

What Agnos refuses

Each refusal says what to do instead.

KindExtensionsWhat to do instead
Old Word documents.docOpen it in Word, save it as .docx and add it again.
Old Excel workbooks.xlsOpen it in Excel, save it as .xlsx and add it again.
Old PowerPoint decks.pptOpen it in PowerPoint, save it as .pptx and add it again.
Rich Text Format.rtfSave it as .docx and add it again.
OpenDocument files.odt .ods .odpSave it as .docx, .xlsx or .pptx and add it again.
Images.png .jpg .jpeg .gif .bmp .webp .tiff .tif .svg .ico .heic .heif .avif .jp2 .j2kAgnos reads text, not pictures of text.
Archives.zip .tar .gz .tgz .bz2 .xz .7z .rar .zst .lz4Unpack it and add the documents inside.
Audio and video.mp3 .wav .flac .ogg .m4a .aac .wma .mp4 .avi .mov .wmv .flv .mkv .webm .m4vTranscribe it, then add the transcript as .txt.
Programs.exe .dll .msi .com .bin .so .dylib .apk .jarAdd the documents themselves.
Binary data files.parquet .feather .orc .hdf5 .h5 .hdf .avro .msgpack .pickle .pkl .db .sqlite .sqlite3Export the rows you want as .csv or .jsonl and add that.

Any other extension is refused with a list of what Agnos reads.

Refused for what is inside

Scanned PDFs
A scan has no text layer to read. If you have the document the PDF was made from, add that instead.
Password-protected files
Remove the password in the program that made the file, then add it again.
Damaged files
Open the file in the program that made it, save a fresh copy, and add that.
Renamed files
Files are checked by their contents, not only their extension, so renaming a file does not get it through.
Oversized Office files
A Word, Excel or PowerPoint file with more than 10,000 parts inside, or that unpacks to more than 1 GB, is refused.

Something here wrong or unclear? Tell us and we will fix the page.