JSON to CSV is for an array of objects, such as a list of names and emails, or an array of arrays. Keys become the header row. A single object becomes one data row. Nested objects and arrays are written as text, not as extra sheets, because a CSV cannot hold a tree. If the JSON is not a table, the page says so instead of emitting a blank file. The parse happens locally.
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.