Skip to content

Supported Formats

Struis edited this page Aug 21, 2026 · 1 revision

Supported formats

InSearch searches the contents of files, not just their names. It handles two kinds of input.

Plain text & logs (always)

Any text-based file is searched directly, with automatic binary detection and encoding handling. Recognised text extensions include:

txt · log · xml · json · csv · tsv · md · yml / yaml · toml · ini · cfg · conf · html / htm · css · js · ts · rs · py · java · c / h · cpp / hpp · cs · go · rb · php · sh · bat · ps1 · sql · properties

Files with unknown extensions are still searched as text — InSearch simply skips anything that looks binary.

Documents (decoded to text)

Binary document formats are decoded to text and then searched line- or block-wise like everything else:

Format Extensions How
Spreadsheets xls, xlsx, xlsb, ods rows become tab-separated lines (via calamine)
Word docx paragraph text from word/document.xml (via zip + quick-xml)
PDF pdf extracted text (via pdf-extract)

PDF text quality depends on how the PDF was produced (text-based PDFs extract cleanly; scanned/image PDFs have no text to find). Very large documents are skipped to bound memory.

For developers: these extractors are Cargo features (xls, docx, pdf, or all-formats) on the insearch-core crate. The shipped apps enable all-formats.


© Struis ICT — https://struisict.com · Buy me a coffee ☕

Clone this wiki locally