Excel to CSV takes an XLSX or an older XLS file and writes the first sheet as comma-separated text. Other sheets are not merged in, because a CSV has one table and picking a sheet quietly would hide data. Formulas are exported as the values SheetJS reads, not as =SUM(...) text. Dates may come through as formatted text. The file never leaves the browser.
The drop zone reads the file in this tab. Images can become JPG, PNG, WEBP, a single-frame GIF, BMP, ICO, or AVIF when the browser can encode AVIF. HEIC and HEIF are decoded with heic2any, and that library is fetched only after a HEIC file is dropped. SVG is rasterised from its width or viewBox. Several images can become one PDF, one picture per page. A PDF can become a JPG or PNG of each page, up to 20 pages. Tables move between CSV, TSV, JSON, a simple row-shaped XML, XLSX, and older XLS. Text moves between TXT, a small Markdown subset, and HTML. DOCX becomes HTML or plain text with Mammoth, which keeps headings and paragraphs and drops text boxes and tracked changes.
This is not a universal office suite. PDF to Word is not offered: a browser cannot rebuild an editable document with the original styles, and a picture of a page is not that document. Audio and video, including MP4, MOV, WEBM, MKV, MP3, WAV, M4A, OGG, and FLAC, are not converted. ffmpeg.wasm is about 30 MB and was too heavy and unreliable to ship here, so there is no MP4 to MP3 page and no MOV to MP4 page. Animated GIFs keep the first frame. Spreadsheet formulas become values. Passworded PDFs stay locked. Nothing is uploaded. For a JPG or PNG that only needs to become a PDF, JPG to PDF is the narrower tool. To shrink a photo toward a kilobyte target, use compress image. To shrink a PDF by redrawing pages, use compress PDF.