Formats
A published list, not a promise about everything
Nobody can support every format ever made, and a service that claims to is lying to you about something you will find out later. Here is the actual list, the limits that apply to each kind of file, and precisely what happens when something outside it arrives.
What Fylane processes
| Family | Formats | Operations |
|---|---|---|
| Images | JPEGPNGWebPAVIFHEICHEIFTIFFGIFBMPSVG | Convert, resize, compress, strip metadata, inspect, thumbnail |
| Documents | PDFDOCXDOCODTRTFTXTHTMLMarkdown | To PDF, to Markdown, text and structure extraction, preview, merge, split |
| Spreadsheets | XLSXXLSODSCSVTSV | To PDF, to CSV, sheet and table extraction |
| Presentations | PPTXPPTODP | To PDF, to images, text extraction |
| Scans | Any imageImage-only PDF | OCR to text or structured output, deskew, rotate, searchable PDF |
| Archives | ZIPTARGZIP7z | Inspect, list entries, extract safely, recompress |
The list grows. It grows by adding engines we have tested against a real corpus, not by adding rows to this page.
Limits that know what the file is
One upload ceiling for everything is the wrong shape. A 200 MB PDF is an ordinary scanned contract. A 200 MB SVG is an attack, because SVG is a text document and nothing legitimate gets near that. So the limit depends on what arrived.
| Kind | Limit | Why |
|---|---|---|
| Avatar and profile images | 20 MB | Cropped and re-encoded on the way in |
| Product and content images | 50 MB | Covers full-resolution phone and camera output |
| 250 MB | Page count matters more than bytes for OCR cost | |
| Office documents | 100 MB | Well above anything produced by hand |
| Archives | 500 MB compressed | With a separate ceiling on expanded size and entry count |
| SVG | 2 MB | It is a text document. Anything larger is not a logo |
Archives carry a second limit that compressed size cannot express: how far they are allowed to expand, and how many entries they may contain. Forty megabytes that unpack to three terabytes is a known attack, and the bill lands on whoever unpacked it.
When something else turns up
It fails immediately, by name, before any compute is spent — and it tells you what the file actually was, which is usually not what it claimed to be.
{
"type": "https://fylane.dev/errors/unsupported-file",
"code": "unsupported_file",
"message": "This file is a Microsoft Publisher document, which Fylane cannot convert yet.",
"retryable": false,
"request_id": "req_01JBQ8Z5T7WXK9MNP2RSTVA3C4",
"docs_url": "https://fylane.dev/docs/errors/unsupported-file",
"details": {
"detected_mime": "application/x-mspublisher",
"declared_mime": "application/pdf"
}
}The type is detected from the bytes, never from the extension or the browser-supplied content type. Both are supplied by whoever uploaded the file.