Support, without the guesswork.
Every direction is separate. Check what a tool can read, write and preserve.
Not every feature in a format can survive conversion. A listed input does not imply all variants, encrypted files or embedded resources are supported. Tool pages describe the implemented direction and its limits.
195 tools
Pages, documents and local rendering.
PDF to PNG
PDF → PNG · mupdf
Render selected PDF pages as separate PNG images.
- Raster output has no selectable text. Maximum 40 megapixels per rendered page.
PDF to JPEG
PDF → JPG · mupdf
Render selected PDF pages as separate JPEG images.
- Raster output has no selectable text.
Extract PDF text
PDF → TXT · mupdf
Extract embedded text in page order.
- Scans need OCR; this tool does not recognize text in images. Reading order follows the PDF.
Merge PDFs
PDF → PDF · mupdf
Join PDF files in queue order.
- PDF page content is copied; document outlines, signatures and document-level forms are not merged.
Extract / reorder PDF pages
PDF → PDF · mupdf
Export selected pages in the order entered.
- Document signatures become invalid after editing.
Rotate PDF pages
PDF → PDF · mupdf
Rotate selected pages in 90-degree increments.
Optimize PDF structure
PDF → PDF · mupdf
Rewrite PDF streams and remove unused objects.
- Lossless structural optimization; image resolution is unchanged and files may grow.
Password protect PDF
PDF → PDF · mupdf
Save a PDF with AES-256 encryption.
- Use different strong opening and owner passwords. Passwords containing commas or equals signs are unsupported.
Remove PDF password
PDF → PDF · mupdf
Remove encryption after authenticating with a known password.
Permanently redact a PDF area
PDF → PDF · mupdf
Remove text, image pixels and touched vector art in a selected rectangle.
- Coordinates start at the top-left of the displayed page, in PDF points (72 per inch). Redaction is irreversible in the exported PDF. Check the output before sharing.
Replace PDF text
PDF → PDF · mupdf
Remove every matching text occurrence on selected pages and insert replacement text.
- Original text is redacted before replacement. Layout is not reflowed; replacement must fit. Standard Latin fonts only.
Insert PDF text / typed signature
PDF → PDF · mupdf
Add text at a chosen position and bake it into the page.
- Typed signature is a visual mark, not a cryptographic signature. Helvetica supports standard Latin text.
Insert PDF image / drawn signature
PDF, PNG, JPG, JPEG → PDF · mupdf
Place a raster image on a PDF page.
- Queue exactly one PDF and one PNG/JPEG image. Image is fitted into the selected rectangle. Signatures are visual marks.
Replace PDF image area
PDF, PNG, JPG, JPEG → PDF · mupdf
Remove images intersecting a selected rectangle, then insert a replacement.
- Queue exactly one PDF and one PNG/JPEG image. Any image touching the rectangle is removed in full before replacement. Text and vector art remain.
Fill PDF form fields
PDF → PDF · mupdf
Set text and choice fields by field name from a JSON object.
- Supports existing text and choice fields. Checkbox, signature and XFA forms are excluded. Unknown field names are errors.
Images to PDF
PNG, JPG, JPEG, WEBP, TIF, TIFF, BMP, GIF → PDF · mupdf
Create one PDF page per input image.
- Each page uses the first image frame. Images retain their pixel dimensions as PDF points.
OCR to text
PDF, PNG, JPG, JPEG, BMP, TIF, TIFF, WEBP → TXT · tesseract
Recognize English text in scanned pages or raster images.
- English model only. Recognition is approximate; inspect the text before relying on it.
- PDF pages are rendered at 144 DPI. Maximum 20 pages per file. Images use the first frame.
Create searchable PDF
PDF, PNG, JPG, JPEG, BMP, TIF, TIFF, WEBP → PDF · tesseract
Recognize English text and export a PDF with an invisible searchable text layer.
- English model only. Recognition is approximate; inspect the text before relying on it.
- Pages are rasterized; original vectors, forms, links and annotations become pixels. Maximum 20 pages per file.
Images
Raster images and image processing.
Resize image
PNG, JPG, WEBP, GIF, TIFF, BMP, AVIF, JXL, JP2, QOI, PSD, EXR, HDR, PPM, JPEG, TIF → PNG · imagemagick
Resize an image to fit within a width and height, preserving aspect ratio; download a PNG.
- Only the first frame is processed. Output is PNG; editable layers are not preserved.
- Maximum 40 megapixels per frame, including after resizing and rotation. Metadata and color profiles may change.
Crop image
PNG, JPG, WEBP, GIF, TIFF, BMP, AVIF, JXL, JP2, QOI, PSD, EXR, HDR, PPM, JPEG, TIF → PNG · imagemagick
Crop an image to a rectangle specified in pixels and download a PNG.
- Only the first frame is processed. Output is PNG; editable layers are not preserved.
- Maximum 40 megapixels per frame, including after resizing and rotation. Metadata and color profiles may change.
Rotate image
PNG, JPG, WEBP, GIF, TIFF, BMP, AVIF, JXL, JP2, QOI, PSD, EXR, HDR, PPM, JPEG, TIF → PNG · imagemagick
Rotate an image clockwise by an angle in degrees and download a PNG.
- Only the first frame is processed. Output is PNG; editable layers are not preserved.
- Maximum 40 megapixels per frame, including after resizing and rotation. Metadata and color profiles may change.
Flip or mirror image
PNG, JPG, WEBP, GIF, TIFF, BMP, AVIF, JXL, JP2, QOI, PSD, EXR, HDR, PPM, JPEG, TIF → PNG · imagemagick
Mirror an image horizontally or flip it vertically, then download a PNG.
- Only the first frame is processed. Output is PNG; editable layers are not preserved.
- Maximum 40 megapixels per frame, including after resizing and rotation. Metadata and color profiles may change.
Grayscale image
PNG, JPG, WEBP, GIF, TIFF, BMP, AVIF, JXL, JP2, QOI, PSD, EXR, HDR, PPM, JPEG, TIF → PNG · imagemagick
Convert an image to grayscale and download a PNG.
- Only the first frame is processed. Output is PNG; editable layers are not preserved.
- Maximum 40 megapixels per frame, including after resizing and rotation. Metadata and color profiles may change.
Remove image metadata
PNG, JPG, WEBP, GIF, TIFF, BMP, AVIF, JXL, JP2, QOI, PSD, EXR, HDR, PPM, JPEG, TIF → PNG · imagemagick
Remove metadata and color profiles from an image and download a PNG.
- Only the first frame is processed. Output is PNG; editable layers are not preserved.
- Maximum 40 megapixels per frame, including after resizing and rotation. Metadata and color profiles may change.
Compress image to JPEG
PNG, JPG, WEBP, GIF, TIFF, BMP, AVIF, JXL, JP2, QOI, PSD, EXR, HDR, PPM, JPEG, TIF → JPG · imagemagick
Create a JPEG with adjustable lossy quality. The output may be larger than the original.
- Only the first frame is processed. Output is lossy JPEG; transparency and editable layers are not preserved.
- Maximum 40 megapixels per frame, including after resizing and rotation. Metadata and color profiles may change.
Image to PNG
PNG, JPG, WEBP, GIF, TIFF, BMP, AVIF, JXL, JP2, QOI, PSD, EXR, HDR, PPM, JPEG, TIF → PNG · imagemagick
Convert raster images to PNG; resize, crop and rotate locally.
- Only verified raster formats are advertised. Layered files are rendered; editable layers are not preserved.
- Metadata and color may change during conversion. Animation is preserved only with All frames and GIF, WebP or TIFF output. Maximum 500 frames and 40 megapixels per frame.
Image to JPEG
PNG, JPG, WEBP, GIF, TIFF, BMP, AVIF, JXL, JP2, QOI, PSD, EXR, HDR, PPM, JPEG, TIF → JPG · imagemagick
Convert raster images to JPEG; resize, crop and rotate locally.
- Only verified raster formats are advertised. Layered files are rendered; editable layers are not preserved.
- Metadata and color may change during conversion. Animation is preserved only with All frames and GIF, WebP or TIFF output. Maximum 500 frames and 40 megapixels per frame.
Image to WEBP
PNG, JPG, WEBP, GIF, TIFF, BMP, AVIF, JXL, JP2, QOI, PSD, EXR, HDR, PPM, JPEG, TIF → WEBP · imagemagick
Convert raster images to WEBP; resize, crop and rotate locally.
- Only verified raster formats are advertised. Layered files are rendered; editable layers are not preserved.
- Metadata and color may change during conversion. Animation is preserved only with All frames and GIF, WebP or TIFF output. Maximum 500 frames and 40 megapixels per frame.
Image to GIF
PNG, JPG, WEBP, GIF, TIFF, BMP, AVIF, JXL, JP2, QOI, PSD, EXR, HDR, PPM, JPEG, TIF → GIF · imagemagick
Convert raster images to GIF; resize, crop and rotate locally.
- Only verified raster formats are advertised. Layered files are rendered; editable layers are not preserved.
- Metadata and color may change during conversion. Animation is preserved only with All frames and GIF, WebP or TIFF output. Maximum 500 frames and 40 megapixels per frame.
Image to TIFF
PNG, JPG, WEBP, GIF, TIFF, BMP, AVIF, JXL, JP2, QOI, PSD, EXR, HDR, PPM, JPEG, TIF → TIFF · imagemagick
Convert raster images to TIFF; resize, crop and rotate locally.
- Only verified raster formats are advertised. Layered files are rendered; editable layers are not preserved.
- Metadata and color may change during conversion. Animation is preserved only with All frames and GIF, WebP or TIFF output. Maximum 500 frames and 40 megapixels per frame.
Image to BMP
PNG, JPG, WEBP, GIF, TIFF, BMP, AVIF, JXL, JP2, QOI, PSD, EXR, HDR, PPM, JPEG, TIF → BMP · imagemagick
Convert raster images to BMP; resize, crop and rotate locally.
- Only verified raster formats are advertised. Layered files are rendered; editable layers are not preserved.
- Metadata and color may change during conversion. Animation is preserved only with All frames and GIF, WebP or TIFF output. Maximum 500 frames and 40 megapixels per frame.
Image to AVIF
PNG, JPG, WEBP, GIF, TIFF, BMP, AVIF, JXL, JP2, QOI, PSD, EXR, HDR, PPM, JPEG, TIF → AVIF · imagemagick
Convert raster images to AVIF; resize, crop and rotate locally.
- Only verified raster formats are advertised. Layered files are rendered; editable layers are not preserved.
- Metadata and color may change during conversion. Animation is preserved only with All frames and GIF, WebP or TIFF output. Maximum 500 frames and 40 megapixels per frame.
Image to JXL
PNG, JPG, WEBP, GIF, TIFF, BMP, AVIF, JXL, JP2, QOI, PSD, EXR, HDR, PPM, JPEG, TIF → JXL · imagemagick
Convert raster images to JXL; resize, crop and rotate locally.
- Only verified raster formats are advertised. Layered files are rendered; editable layers are not preserved.
- Metadata and color may change during conversion. Animation is preserved only with All frames and GIF, WebP or TIFF output. Maximum 500 frames and 40 megapixels per frame.
Image to JP2
PNG, JPG, WEBP, GIF, TIFF, BMP, AVIF, JXL, JP2, QOI, PSD, EXR, HDR, PPM, JPEG, TIF → JP2 · imagemagick
Convert raster images to JP2; resize, crop and rotate locally.
- Only verified raster formats are advertised. Layered files are rendered; editable layers are not preserved.
- Metadata and color may change during conversion. Animation is preserved only with All frames and GIF, WebP or TIFF output. Maximum 500 frames and 40 megapixels per frame.
Image to QOI
PNG, JPG, WEBP, GIF, TIFF, BMP, AVIF, JXL, JP2, QOI, PSD, EXR, HDR, PPM, JPEG, TIF → QOI · imagemagick
Convert raster images to QOI; resize, crop and rotate locally.
- Only verified raster formats are advertised. Layered files are rendered; editable layers are not preserved.
- Metadata and color may change during conversion. Animation is preserved only with All frames and GIF, WebP or TIFF output. Maximum 500 frames and 40 megapixels per frame.
Image to PSD
PNG, JPG, WEBP, GIF, TIFF, BMP, AVIF, JXL, JP2, QOI, PSD, EXR, HDR, PPM, JPEG, TIF → PSD · imagemagick
Convert raster images to PSD; resize, crop and rotate locally.
- Only verified raster formats are advertised. Layered files are rendered; editable layers are not preserved.
- Metadata and color may change during conversion. Animation is preserved only with All frames and GIF, WebP or TIFF output. Maximum 500 frames and 40 megapixels per frame.
Image to EXR
PNG, JPG, WEBP, GIF, TIFF, BMP, AVIF, JXL, JP2, QOI, PSD, EXR, HDR, PPM, JPEG, TIF → EXR · imagemagick
Convert raster images to EXR; resize, crop and rotate locally.
- Only verified raster formats are advertised. Layered files are rendered; editable layers are not preserved.
- Metadata and color may change during conversion. Animation is preserved only with All frames and GIF, WebP or TIFF output. Maximum 500 frames and 40 megapixels per frame.
Image to HDR
PNG, JPG, WEBP, GIF, TIFF, BMP, AVIF, JXL, JP2, QOI, PSD, EXR, HDR, PPM, JPEG, TIF → HDR · imagemagick
Convert raster images to HDR; resize, crop and rotate locally.
- Only verified raster formats are advertised. Layered files are rendered; editable layers are not preserved.
- Metadata and color may change during conversion. Animation is preserved only with All frames and GIF, WebP or TIFF output. Maximum 500 frames and 40 megapixels per frame.
Image to PPM
PNG, JPG, WEBP, GIF, TIFF, BMP, AVIF, JXL, JP2, QOI, PSD, EXR, HDR, PPM, JPEG, TIF → PPM · imagemagick
Convert raster images to PPM; resize, crop and rotate locally.
- Only verified raster formats are advertised. Layered files are rendered; editable layers are not preserved.
- Metadata and color may change during conversion. Animation is preserved only with All frames and GIF, WebP or TIFF output. Maximum 500 frames and 40 megapixels per frame.
Video
Video conversion, trimming and frames.
Extract video image sequence
MP4, MOV, MKV, WEBM, AVI, M4V, MPEG, MPG, OGV, TS → PNG · ffmpeg
Extract video frames as a PNG image sequence with adjustable frame rate, time range and image width.
- Single-threaded FFmpeg. Large files can exceed browser memory; total job input is limited to 128 MiB.
- DRM is unsupported. Decoder support depends on the source codec; conversion failure is reported. First video/audio stream only; subtitles, chapters and attachments are not copied.
Images to MP4 slideshow
PNG, JPG, JPEG, WEBP, BMP → MP4 · ffmpeg
Turn an ordered image sequence into an MP4 slideshow with adjustable frame timing.
- Single-threaded FFmpeg. Large files can exceed browser memory; total job input is limited to 128 MiB.
- DRM is unsupported. Decoder support depends on the source codec; conversion failure is reported. First video/audio stream only; subtitles, chapters and attachments are not copied.
Video to MP4
MP4, MOV, MKV, WEBM, AVI, M4V, MPEG, MPG, OGV, TS → MP4 · ffmpeg
Convert video to MP4, with trimming and resizing controls.
- Single-threaded FFmpeg. Large files can exceed browser memory; total job input is limited to 128 MiB.
- DRM is unsupported. Decoder support depends on the source codec; conversion failure is reported. First video/audio stream only; subtitles, chapters and attachments are not copied.
Video to WebM
MP4, MOV, MKV, WEBM, AVI, M4V, MPEG, MPG, OGV, TS → WEBM · ffmpeg
Convert video to WEBM, with trimming and resizing controls.
- Single-threaded FFmpeg. Large files can exceed browser memory; total job input is limited to 128 MiB.
- DRM is unsupported. Decoder support depends on the source codec; conversion failure is reported. First video/audio stream only; subtitles, chapters and attachments are not copied.
Video to GIF
MP4, MOV, MKV, WEBM, AVI, M4V, MPEG, MPG, OGV, TS → GIF · ffmpeg
Convert video to GIF, with trimming and resizing controls.
- Single-threaded FFmpeg. Large files can exceed browser memory; total job input is limited to 128 MiB.
- DRM is unsupported. Decoder support depends on the source codec; conversion failure is reported. First video/audio stream only; subtitles, chapters and attachments are not copied.
Extract video frame
MP4, MOV, MKV, WEBM, AVI, M4V, MPEG, MPG, OGV, TS → PNG · ffmpeg
Save a still image from a video at a selected timestamp as a PNG.
- Single-threaded FFmpeg. Large files can exceed browser memory; total job input is limited to 128 MiB.
- DRM is unsupported. Decoder support depends on the source codec; conversion failure is reported. First video/audio stream only; subtitles, chapters and attachments are not copied.
Audio
Audio conversion and extraction.
Audio to MP3
MP3, WAV, FLAC, OGG, OPUS, M4A, AAC, AIFF, WMA, MP4, MOV, MKV, WEBM, AVI, M4V, MPEG, MPG, OGV, TS → MP3 · ffmpeg
Convert audio or extract the first video audio track as MP3.
- Single-threaded FFmpeg. Large files can exceed browser memory; total job input is limited to 128 MiB.
- DRM is unsupported. Decoder support depends on the source codec; conversion failure is reported. First video/audio stream only; subtitles, chapters and attachments are not copied.
Audio to WAV
MP3, WAV, FLAC, OGG, OPUS, M4A, AAC, AIFF, WMA, MP4, MOV, MKV, WEBM, AVI, M4V, MPEG, MPG, OGV, TS → WAV · ffmpeg
Convert audio or extract the first video audio track as WAV.
- Single-threaded FFmpeg. Large files can exceed browser memory; total job input is limited to 128 MiB.
- DRM is unsupported. Decoder support depends on the source codec; conversion failure is reported. First video/audio stream only; subtitles, chapters and attachments are not copied.
Audio to FLAC
MP3, WAV, FLAC, OGG, OPUS, M4A, AAC, AIFF, WMA, MP4, MOV, MKV, WEBM, AVI, M4V, MPEG, MPG, OGV, TS → FLAC · ffmpeg
Convert audio or extract the first video audio track as FLAC.
- Single-threaded FFmpeg. Large files can exceed browser memory; total job input is limited to 128 MiB.
- DRM is unsupported. Decoder support depends on the source codec; conversion failure is reported. First video/audio stream only; subtitles, chapters and attachments are not copied.
Audio to Ogg Vorbis
MP3, WAV, FLAC, OGG, OPUS, M4A, AAC, AIFF, WMA, MP4, MOV, MKV, WEBM, AVI, M4V, MPEG, MPG, OGV, TS → OGG · ffmpeg
Convert audio or extract the first video audio track as OGG.
- Single-threaded FFmpeg. Large files can exceed browser memory; total job input is limited to 128 MiB.
- DRM is unsupported. Decoder support depends on the source codec; conversion failure is reported. First video/audio stream only; subtitles, chapters and attachments are not copied.
Audio to Opus
MP3, WAV, FLAC, OGG, OPUS, M4A, AAC, AIFF, WMA, MP4, MOV, MKV, WEBM, AVI, M4V, MPEG, MPG, OGV, TS → OPUS · ffmpeg
Convert audio or extract the first video audio track as OPUS.
- Single-threaded FFmpeg. Large files can exceed browser memory; total job input is limited to 128 MiB.
- DRM is unsupported. Decoder support depends on the source codec; conversion failure is reported. First video/audio stream only; subtitles, chapters and attachments are not copied.
Audio to M4A
MP3, WAV, FLAC, OGG, OPUS, M4A, AAC, AIFF, WMA, MP4, MOV, MKV, WEBM, AVI, M4V, MPEG, MPG, OGV, TS → M4A · ffmpeg
Convert audio or extract the first video audio track as M4A.
- Single-threaded FFmpeg. Large files can exceed browser memory; total job input is limited to 128 MiB.
- DRM is unsupported. Decoder support depends on the source codec; conversion failure is reported. First video/audio stream only; subtitles, chapters and attachments are not copied.
Documents
Word files and document text.
Text to DOCX
TXT, MD → DOCX · OOXML / fflate
Create a Word document from plain text paragraphs.
- Plain text paragraphs only; Markdown syntax remains literal.
DOCX to text
DOCX → TXT · OOXML / fflate
Extract document body text and table cells from Word files.
- Headers, footers, images, comments, tracked-change interpretation and formatting are not preserved. Encrypted documents are unsupported.
OCR to DOCX (best effort)
PDF, PNG, JPG, JPEG, BMP, TIF, TIFF, WEBP → DOCX · tesseract
Recognize English text and create a plain-text Office document.
- English model only. Recognition is approximate; inspect the text before relying on it.
- PDF pages are rendered at 144 DPI. Maximum 20 pages per file. Images use the first frame.
- Text-only reconstruction: recognized lines become paragraphs. Original columns, fonts, page layout, tables and images are omitted.
Word document to PDF
DOC, DOCX, ODT, RTF, TXT, HTML, HTM → PDF · office
Render and export locally with LibreOffice's ZetaOffice browser build.
- Desktop browsers with cross-origin isolation and shared WebAssembly memory are required. The engine downloads about 250 MiB and allocates 1 GiB of shared memory.
- Text input requires UTF-8. Self-contained HTML is accepted for PDF output only. HTML export is unavailable in this stock build.
- Jobs accept at most 32 MiB across 8 files. Each file is limited to 16 MiB; expanded OOXML/OpenDocument content is limited to 64 MiB.
- Macros and external-resource access are disabled. Password-protected files and documents containing external links are rejected.
- The approved stock build includes its fonts. Unavailable fonts are substituted; unsupported Office features and animations may change or be lost.
Word document to DOCX
DOC, DOCX, ODT, RTF, TXT → DOCX · office
Render and export locally with LibreOffice's ZetaOffice browser build.
- Desktop browsers with cross-origin isolation and shared WebAssembly memory are required. The engine downloads about 250 MiB and allocates 1 GiB of shared memory.
- Text input requires UTF-8. Self-contained HTML is accepted for PDF output only. HTML export is unavailable in this stock build.
- Jobs accept at most 32 MiB across 8 files. Each file is limited to 16 MiB; expanded OOXML/OpenDocument content is limited to 64 MiB.
- Macros and external-resource access are disabled. Password-protected files and documents containing external links are rejected.
- The approved stock build includes its fonts. Unavailable fonts are substituted; unsupported Office features and animations may change or be lost.
Word document to ODT
DOC, DOCX, ODT, RTF, TXT → ODT · office
Render and export locally with LibreOffice's ZetaOffice browser build.
- Desktop browsers with cross-origin isolation and shared WebAssembly memory are required. The engine downloads about 250 MiB and allocates 1 GiB of shared memory.
- Text input requires UTF-8. Self-contained HTML is accepted for PDF output only. HTML export is unavailable in this stock build.
- Jobs accept at most 32 MiB across 8 files. Each file is limited to 16 MiB; expanded OOXML/OpenDocument content is limited to 64 MiB.
- Macros and external-resource access are disabled. Password-protected files and documents containing external links are rejected.
- The approved stock build includes its fonts. Unavailable fonts are substituted; unsupported Office features and animations may change or be lost.
Word document to RTF
DOC, DOCX, ODT, RTF, TXT → RTF · office
Render and export locally with LibreOffice's ZetaOffice browser build.
- Desktop browsers with cross-origin isolation and shared WebAssembly memory are required. The engine downloads about 250 MiB and allocates 1 GiB of shared memory.
- Text input requires UTF-8. Self-contained HTML is accepted for PDF output only. HTML export is unavailable in this stock build.
- Jobs accept at most 32 MiB across 8 files. Each file is limited to 16 MiB; expanded OOXML/OpenDocument content is limited to 64 MiB.
- Macros and external-resource access are disabled. Password-protected files and documents containing external links are rejected.
- The approved stock build includes its fonts. Unavailable fonts are substituted; unsupported Office features and animations may change or be lost.
Word document to TXT
DOC, DOCX, ODT, RTF, TXT → TXT · office
Render and export locally with LibreOffice's ZetaOffice browser build.
- Desktop browsers with cross-origin isolation and shared WebAssembly memory are required. The engine downloads about 250 MiB and allocates 1 GiB of shared memory.
- Text input requires UTF-8. Self-contained HTML is accepted for PDF output only. HTML export is unavailable in this stock build.
- Jobs accept at most 32 MiB across 8 files. Each file is limited to 16 MiB; expanded OOXML/OpenDocument content is limited to 64 MiB.
- Macros and external-resource access are disabled. Password-protected files and documents containing external links are rejected.
- The approved stock build includes its fonts. Unavailable fonts are substituted; unsupported Office features and animations may change or be lost.
- Plain text discards layout, images and formatting.
Spreadsheets
Worksheet and tabular exports.
CSV to XLSX
CSV → XLSX · OOXML / fflate
Create a single-sheet Excel workbook from delimited text.
- All cells are written as text, preserving leading zeros and preventing formula injection. No formatting or formula calculation. 100,000 rows / 2 million cells maximum.
TSV to XLSX
TSV → XLSX · OOXML / fflate
Create a single-sheet Excel workbook from delimited text.
- All cells are written as text, preserving leading zeros and preventing formula injection. No formatting or formula calculation. 100,000 rows / 2 million cells maximum.
XLSX to CSV
XLSX → CSV · OOXML / fflate
Export an explicitly selected worksheet from an Excel workbook.
- Enter the exact worksheet name; a missing selection lists available names. Formulas use cached values and fail if none exist. Dates remain Excel serial numbers. Formatting, charts and macros are omitted. JSON is an array of rows. 100,000 rows / 2 million cells maximum.
XLSX to TSV
XLSX → TSV · OOXML / fflate
Export an explicitly selected worksheet from an Excel workbook.
- Enter the exact worksheet name; a missing selection lists available names. Formulas use cached values and fail if none exist. Dates remain Excel serial numbers. Formatting, charts and macros are omitted. JSON is an array of rows. 100,000 rows / 2 million cells maximum.
XLSX to JSON
XLSX → JSON · OOXML / fflate
Export an explicitly selected worksheet from an Excel workbook.
- Enter the exact worksheet name; a missing selection lists available names. Formulas use cached values and fail if none exist. Dates remain Excel serial numbers. Formatting, charts and macros are omitted. JSON is an array of rows. 100,000 rows / 2 million cells maximum.
OCR to XLSX (best effort)
PDF, PNG, JPG, JPEG, BMP, TIF, TIFF, WEBP → XLSX · tesseract
Recognize English text and infer rows and columns from explicit separators.
- English model only. Recognition is approximate; inspect the text before relying on it.
- PDF pages are rendered at 144 DPI. Maximum 20 pages per file. Images use the first frame.
- Heuristic rows and columns only. No table detection, formulas, types or formatting. Review every cell; all values are stored as text.
Spreadsheet to PDF
XLS, XLSX, ODS, CSV → PDF · office
Render and export locally with LibreOffice's ZetaOffice browser build.
- Desktop browsers with cross-origin isolation and shared WebAssembly memory are required. The engine downloads about 250 MiB and allocates 1 GiB of shared memory.
- Text input requires UTF-8. Self-contained HTML is accepted for PDF output only. HTML export is unavailable in this stock build.
- Jobs accept at most 32 MiB across 8 files. Each file is limited to 16 MiB; expanded OOXML/OpenDocument content is limited to 64 MiB.
- Macros and external-resource access are disabled. Password-protected files and documents containing external links are rejected.
- The approved stock build includes its fonts. Unavailable fonts are substituted; unsupported Office features and animations may change or be lost.
Spreadsheet to XLSX
XLS, XLSX, ODS, CSV → XLSX · office
Render and export locally with LibreOffice's ZetaOffice browser build.
- Desktop browsers with cross-origin isolation and shared WebAssembly memory are required. The engine downloads about 250 MiB and allocates 1 GiB of shared memory.
- Text input requires UTF-8. Self-contained HTML is accepted for PDF output only. HTML export is unavailable in this stock build.
- Jobs accept at most 32 MiB across 8 files. Each file is limited to 16 MiB; expanded OOXML/OpenDocument content is limited to 64 MiB.
- Macros and external-resource access are disabled. Password-protected files and documents containing external links are rejected.
- The approved stock build includes its fonts. Unavailable fonts are substituted; unsupported Office features and animations may change or be lost.
Spreadsheet to ODS
XLS, XLSX, ODS, CSV → ODS · office
Render and export locally with LibreOffice's ZetaOffice browser build.
- Desktop browsers with cross-origin isolation and shared WebAssembly memory are required. The engine downloads about 250 MiB and allocates 1 GiB of shared memory.
- Text input requires UTF-8. Self-contained HTML is accepted for PDF output only. HTML export is unavailable in this stock build.
- Jobs accept at most 32 MiB across 8 files. Each file is limited to 16 MiB; expanded OOXML/OpenDocument content is limited to 64 MiB.
- Macros and external-resource access are disabled. Password-protected files and documents containing external links are rejected.
- The approved stock build includes its fonts. Unavailable fonts are substituted; unsupported Office features and animations may change or be lost.
Presentations
Presentation slides and extraction.
Text to PPTX
TXT, MD → PPTX · PptxGenJS
Create readable presentation slides from plain text.
- A blank line separates slides. Long slides are split after 12 lines. Plain text only; Markdown remains literal.
PPTX to text
PPTX → TXT · OOXML / fflate
Extract slide text in presentation order.
- Text only, in document shape order. Slide layouts, charts, speaker notes, diagrams, animations and image text are omitted.
OCR to PPTX (best effort)
PDF, PNG, JPG, JPEG, BMP, TIF, TIFF, WEBP → PPTX · tesseract
Recognize English text and create a plain-text Office document.
- English model only. Recognition is approximate; inspect the text before relying on it.
- PDF pages are rendered at 144 DPI. Maximum 20 pages per file. Images use the first frame.
- Text-only reconstruction: a blank line separates slides, long blocks split after 12 lines. Original slide layout, images, charts and animations are omitted.
Presentation to PDF
PPT, PPTX, ODP → PDF · office
Render and export locally with LibreOffice's ZetaOffice browser build.
- Desktop browsers with cross-origin isolation and shared WebAssembly memory are required. The engine downloads about 250 MiB and allocates 1 GiB of shared memory.
- Text input requires UTF-8. Self-contained HTML is accepted for PDF output only. HTML export is unavailable in this stock build.
- Jobs accept at most 32 MiB across 8 files. Each file is limited to 16 MiB; expanded OOXML/OpenDocument content is limited to 64 MiB.
- Macros and external-resource access are disabled. Password-protected files and documents containing external links are rejected.
- The approved stock build includes its fonts. Unavailable fonts are substituted; unsupported Office features and animations may change or be lost.
Presentation to PPTX
PPT, PPTX, ODP → PPTX · office
Render and export locally with LibreOffice's ZetaOffice browser build.
- Desktop browsers with cross-origin isolation and shared WebAssembly memory are required. The engine downloads about 250 MiB and allocates 1 GiB of shared memory.
- Text input requires UTF-8. Self-contained HTML is accepted for PDF output only. HTML export is unavailable in this stock build.
- Jobs accept at most 32 MiB across 8 files. Each file is limited to 16 MiB; expanded OOXML/OpenDocument content is limited to 64 MiB.
- Macros and external-resource access are disabled. Password-protected files and documents containing external links are rejected.
- The approved stock build includes its fonts. Unavailable fonts are substituted; unsupported Office features and animations may change or be lost.
Presentation to ODP
PPT, PPTX, ODP → ODP · office
Render and export locally with LibreOffice's ZetaOffice browser build.
- Desktop browsers with cross-origin isolation and shared WebAssembly memory are required. The engine downloads about 250 MiB and allocates 1 GiB of shared memory.
- Text input requires UTF-8. Self-contained HTML is accepted for PDF output only. HTML export is unavailable in this stock build.
- Jobs accept at most 32 MiB across 8 files. Each file is limited to 16 MiB; expanded OOXML/OpenDocument content is limited to 64 MiB.
- Macros and external-resource access are disabled. Password-protected files and documents containing external links are rejected.
- The approved stock build includes its fonts. Unavailable fonts are substituted; unsupported Office features and animations may change or be lost.
Archives
Create and extract local archives.
Repack archive to ZIP
ZIP, RAR, 7Z, TAR, GZ, BZ2, XZ, TGZ → ZIP · libarchive
Extract and rebuild an archive in a different container.
- One output per input archive. Maximum 2,000 entries / 128 MiB expanded size. Encryption, links, special files, permissions and timestamps are not preserved. RAR is input-only.
Repack archive to TAR.GZ
ZIP, RAR, 7Z, TAR, GZ, BZ2, XZ, TGZ → GZ · libarchive
Extract and rebuild an archive in a different container.
- One output per input archive. Maximum 2,000 entries / 128 MiB expanded size. Encryption, links, special files, permissions and timestamps are not preserved. RAR is input-only.
Extract RAR / 7Z / TAR
RAR, 7Z, TAR, GZ, BZ2, XZ, TGZ → * · libarchive
Extract files from common archive containers locally.
- RAR is input-only. Maximum 2,000 entries / 128 MiB expanded size. Encrypted archives, links and special filesystem entries are rejected.
Create TAR.GZ
* → GZ · libarchive
Bundle selected files into a gzip-compressed USTAR archive.
- USTAR filename and size restrictions apply. Duplicate names are rejected. No encryption.
Create ZIP
* → ZIP · zip.js
Bundle the selected files into one compressed ZIP archive.
- 128 MiB maximum total input. Duplicate names must be renamed before archiving. ZIP encryption and split archives are unsupported.
Extract ZIP
ZIP → * · fflate
Extract files from a ZIP archive locally.
- Maximum 2,000 entries and 128 MiB expanded size. Encryption, split archives and compression methods other than stored/deflate are unsupported. Unsafe paths are rejected.
Ebooks
Reflowable books and reading text.
Text to EPUB
TXT, MD → EPUB · EPUB 3 / fflate
Create a reflowable EPUB 3 book with navigation.
- One chapter. Markdown is treated as plain text. No illustrations or rich text. Language metadata is English.
EPUB to PDF
EPUB → PDF · pdf-lib
Create a searchable, simply formatted PDF from readable text.
- Plain text reflow with Helvetica and Western European characters only. Other scripts fail explicitly. Illustrations, book layout and styling are omitted. Maximum 500 pages.
FB2 to PDF
FB2 → PDF · pdf-lib
Create a searchable, simply formatted PDF from readable text.
- Plain text reflow with Helvetica and Western European characters only. Other scripts fail explicitly. Illustrations, book layout and styling are omitted. Maximum 500 pages.
EPUB to text
EPUB → TXT · XML / fflate
Extract readable chapter text in reading order.
- Text extraction only. Layout, styles, illustrations and notes metadata are discarded. DRM and non-XHTML EPUB chapters are unsupported.
FB2 to text
FB2 → TXT · XML / fflate
Extract readable chapter text in reading order.
- Text extraction only. Layout, styles, illustrations and notes metadata are discarded. DRM and non-XHTML EPUB chapters are unsupported.
Subtitles
Timed captions and dialogue.
SRT to VTT
SRT → VTT · Subtitle parser
Convert subtitle timing and plain cue text.
- Styling, positioning, karaoke, speaker metadata and embedded fonts are discarded. ASS output rounds timing to centiseconds.
SRT to ASS
SRT → ASS · Subtitle parser
Convert subtitle timing and plain cue text.
- Styling, positioning, karaoke, speaker metadata and embedded fonts are discarded. ASS output rounds timing to centiseconds.
SRT to TXT
SRT → TXT · Subtitle parser
Extract spoken text from subtitle cues.
- Styling, positioning, karaoke, speaker metadata and embedded fonts are discarded. ASS output rounds timing to centiseconds.
VTT to SRT
VTT → SRT · Subtitle parser
Convert subtitle timing and plain cue text.
- Styling, positioning, karaoke, speaker metadata and embedded fonts are discarded. ASS output rounds timing to centiseconds.
VTT to ASS
VTT → ASS · Subtitle parser
Convert subtitle timing and plain cue text.
- Styling, positioning, karaoke, speaker metadata and embedded fonts are discarded. ASS output rounds timing to centiseconds.
VTT to TXT
VTT → TXT · Subtitle parser
Extract spoken text from subtitle cues.
- Styling, positioning, karaoke, speaker metadata and embedded fonts are discarded. ASS output rounds timing to centiseconds.
ASS to SRT
ASS, SSA → SRT · Subtitle parser
Convert subtitle timing and plain cue text.
- Styling, positioning, karaoke, speaker metadata and embedded fonts are discarded. ASS output rounds timing to centiseconds.
ASS to VTT
ASS, SSA → VTT · Subtitle parser
Convert subtitle timing and plain cue text.
- Styling, positioning, karaoke, speaker metadata and embedded fonts are discarded. ASS output rounds timing to centiseconds.
ASS to TXT
ASS, SSA → TXT · Subtitle parser
Extract spoken text from subtitle cues.
- Styling, positioning, karaoke, speaker metadata and embedded fonts are discarded. ASS output rounds timing to centiseconds.
Fonts
Desktop and web fonts.
TTF to WOFF
TTF → WOFF · fonteditor-core
Rebuild a font for desktop or web use.
- Variable fonts and color fonts are unsupported. CFF outlines are converted to TrueType outlines. Unsupported tables, layout features, digital signatures and some metadata may be lost. Check your font license before conversion.
TTF to WOFF2
TTF → WOFF2 · woff2
Rebuild a font for desktop or web use.
- Variable fonts and color fonts are unsupported. CFF outlines are converted to TrueType outlines. Unsupported tables, layout features, digital signatures and some metadata may be lost. Check your font license before conversion.
OTF to TTF
OTF → TTF · fonteditor-core
Rebuild a font for desktop or web use.
- Variable fonts and color fonts are unsupported. CFF outlines are converted to TrueType outlines. Unsupported tables, layout features, digital signatures and some metadata may be lost. Check your font license before conversion.
OTF to WOFF
OTF → WOFF · fonteditor-core
Rebuild a font for desktop or web use.
- Variable fonts and color fonts are unsupported. CFF outlines are converted to TrueType outlines. Unsupported tables, layout features, digital signatures and some metadata may be lost. Check your font license before conversion.
OTF to WOFF2
OTF → WOFF2 · woff2
Rebuild a font for desktop or web use.
- Variable fonts and color fonts are unsupported. CFF outlines are converted to TrueType outlines. Unsupported tables, layout features, digital signatures and some metadata may be lost. Check your font license before conversion.
WOFF to TTF
WOFF → TTF · fonteditor-core
Rebuild a font for desktop or web use.
- Variable fonts and color fonts are unsupported. CFF outlines are converted to TrueType outlines. Unsupported tables, layout features, digital signatures and some metadata may be lost. Check your font license before conversion.
WOFF to WOFF2
WOFF → WOFF2 · woff2
Rebuild a font for desktop or web use.
- Variable fonts and color fonts are unsupported. CFF outlines are converted to TrueType outlines. Unsupported tables, layout features, digital signatures and some metadata may be lost. Check your font license before conversion.
WOFF2 to TTF
WOFF2 → TTF · woff2
Rebuild a font for desktop or web use.
- Variable fonts and color fonts are unsupported. CFF outlines are converted to TrueType outlines. Unsupported tables, layout features, digital signatures and some metadata may be lost. Check your font license before conversion.
WOFF2 to WOFF
WOFF2 → WOFF · woff2
Rebuild a font for desktop or web use.
- Variable fonts and color fonts are unsupported. CFF outlines are converted to TrueType outlines. Unsupported tables, layout features, digital signatures and some metadata may be lost. Check your font license before conversion.
Data
JSON, YAML, XML and delimited records.
JSON to CSV
JSON → CSV · Structured text
Convert JSON locally with an explicit structured-data mapping.
- UTF-8 text; maximum total input size is 128 MiB. CSV and TSV use a header row; values stay strings on import, and nested values become JSON strings on export.
JSON to TSV
JSON → TSV · Structured text
Convert JSON locally with an explicit structured-data mapping.
- UTF-8 text; maximum total input size is 128 MiB. CSV and TSV use a header row; values stay strings on import, and nested values become JSON strings on export.
JSON to YAML
JSON → YAML · Structured text
Convert JSON locally with an explicit structured-data mapping.
- UTF-8 text; maximum total input size is 128 MiB. CSV and TSV use a header row; values stay strings on import, and nested values become JSON strings on export.
JSON to XML
JSON → XML · Structured text
Convert JSON locally with an explicit structured-data mapping.
- UTF-8 text; maximum total input size is 128 MiB. CSV and TSV use a header row; values stay strings on import, and nested values become JSON strings on export.
- XML uses one root property, @_ attributes, and #text content. DTDs and entity declarations are rejected; mixed content order is not preserved.
CSV to JSON
CSV → JSON · Structured text
Convert CSV locally with an explicit structured-data mapping.
- UTF-8 text; maximum total input size is 128 MiB. CSV and TSV use a header row; values stay strings on import, and nested values become JSON strings on export.
CSV to TSV
CSV → TSV · Structured text
Convert CSV locally with an explicit structured-data mapping.
- UTF-8 text; maximum total input size is 128 MiB. CSV and TSV use a header row; values stay strings on import, and nested values become JSON strings on export.
CSV to YAML
CSV → YAML · Structured text
Convert CSV locally with an explicit structured-data mapping.
- UTF-8 text; maximum total input size is 128 MiB. CSV and TSV use a header row; values stay strings on import, and nested values become JSON strings on export.
CSV to XML
CSV → XML · Structured text
Convert CSV locally with an explicit structured-data mapping.
- UTF-8 text; maximum total input size is 128 MiB. CSV and TSV use a header row; values stay strings on import, and nested values become JSON strings on export.
- XML uses one root property, @_ attributes, and #text content. DTDs and entity declarations are rejected; mixed content order is not preserved.
- Tabular XML uses a root containing record elements. CSV/TSV export produces records/record/field elements with column names as attributes; XML import also accepts records with named child elements.
TSV to JSON
TSV → JSON · Structured text
Convert TSV locally with an explicit structured-data mapping.
- UTF-8 text; maximum total input size is 128 MiB. CSV and TSV use a header row; values stay strings on import, and nested values become JSON strings on export.
TSV to CSV
TSV → CSV · Structured text
Convert TSV locally with an explicit structured-data mapping.
- UTF-8 text; maximum total input size is 128 MiB. CSV and TSV use a header row; values stay strings on import, and nested values become JSON strings on export.
TSV to YAML
TSV → YAML · Structured text
Convert TSV locally with an explicit structured-data mapping.
- UTF-8 text; maximum total input size is 128 MiB. CSV and TSV use a header row; values stay strings on import, and nested values become JSON strings on export.
TSV to XML
TSV → XML · Structured text
Convert TSV locally with an explicit structured-data mapping.
- UTF-8 text; maximum total input size is 128 MiB. CSV and TSV use a header row; values stay strings on import, and nested values become JSON strings on export.
- XML uses one root property, @_ attributes, and #text content. DTDs and entity declarations are rejected; mixed content order is not preserved.
- Tabular XML uses a root containing record elements. CSV/TSV export produces records/record/field elements with column names as attributes; XML import also accepts records with named child elements.
YAML to JSON
YAML, YML → JSON · Structured text
Convert YAML locally with an explicit structured-data mapping.
- UTF-8 text; maximum total input size is 128 MiB. CSV and TSV use a header row; values stay strings on import, and nested values become JSON strings on export.
YAML to CSV
YAML, YML → CSV · Structured text
Convert YAML locally with an explicit structured-data mapping.
- UTF-8 text; maximum total input size is 128 MiB. CSV and TSV use a header row; values stay strings on import, and nested values become JSON strings on export.
YAML to TSV
YAML, YML → TSV · Structured text
Convert YAML locally with an explicit structured-data mapping.
- UTF-8 text; maximum total input size is 128 MiB. CSV and TSV use a header row; values stay strings on import, and nested values become JSON strings on export.
YAML to XML
YAML, YML → XML · Structured text
Convert YAML locally with an explicit structured-data mapping.
- UTF-8 text; maximum total input size is 128 MiB. CSV and TSV use a header row; values stay strings on import, and nested values become JSON strings on export.
- XML uses one root property, @_ attributes, and #text content. DTDs and entity declarations are rejected; mixed content order is not preserved.
XML to JSON
XML → JSON · Structured text
Convert XML locally with an explicit structured-data mapping.
- UTF-8 text; maximum total input size is 128 MiB. CSV and TSV use a header row; values stay strings on import, and nested values become JSON strings on export.
- XML uses one root property, @_ attributes, and #text content. DTDs and entity declarations are rejected; mixed content order is not preserved.
XML to CSV
XML → CSV · Structured text
Convert XML locally with an explicit structured-data mapping.
- UTF-8 text; maximum total input size is 128 MiB. CSV and TSV use a header row; values stay strings on import, and nested values become JSON strings on export.
- XML uses one root property, @_ attributes, and #text content. DTDs and entity declarations are rejected; mixed content order is not preserved.
- Tabular XML uses a root containing record elements. CSV/TSV export produces records/record/field elements with column names as attributes; XML import also accepts records with named child elements.
XML to TSV
XML → TSV · Structured text
Convert XML locally with an explicit structured-data mapping.
- UTF-8 text; maximum total input size is 128 MiB. CSV and TSV use a header row; values stay strings on import, and nested values become JSON strings on export.
- XML uses one root property, @_ attributes, and #text content. DTDs and entity declarations are rejected; mixed content order is not preserved.
- Tabular XML uses a root containing record elements. CSV/TSV export produces records/record/field elements with column names as attributes; XML import also accepts records with named child elements.
XML to YAML
XML → YAML · Structured text
Convert XML locally with an explicit structured-data mapping.
- UTF-8 text; maximum total input size is 128 MiB. CSV and TSV use a header row; values stay strings on import, and nested values become JSON strings on export.
- XML uses one root property, @_ attributes, and #text content. DTDs and entity declarations are rejected; mixed content order is not preserved.
iCalendar events to JSON
ICS → JSON · Local text parser
Export iCalendar event records to JSON without uploading your calendar.
- UTF-8 iCalendar VEVENT records only. Recurrences are reported, not expanded; timestamps and timezone parameters stay literal. Alarms and nested components are omitted. JSON preserves top-level properties; CSV exports selected event fields. Maximum 64 MiB / 100,000 records.
vCard contacts to JSON
VCF, VCARD → JSON · Local text parser
Export UTF-8 vCard contacts to JSON locally.
- vCard 3.0 and 4.0 only; version 2.1, quoted-printable and embedded binary properties are unsupported. JSON preserves property names, parameters and text; CSV exports selected contact fields, with repeated fields represented as JSON arrays. Maximum 64 MiB / 100,000 contacts.
HAR network log to JSON
HAR → JSON · Local text parser
Summarize HAR request URLs, methods, response statuses, timing and sizes as JSON.
- Maximum 64 MiB / 100,000 requests. Request and response bodies, cookies and headers are omitted. URLs may contain sensitive query parameters; the summary stays local. Missing or unavailable HAR sizes retain their original values.
iCalendar events to CSV
ICS → CSV · Local text parser
Export iCalendar event records to CSV without uploading your calendar.
- UTF-8 iCalendar VEVENT records only. Recurrences are reported, not expanded; timestamps and timezone parameters stay literal. Alarms and nested components are omitted. JSON preserves top-level properties; CSV exports selected event fields. Maximum 64 MiB / 100,000 records.
vCard contacts to CSV
VCF, VCARD → CSV · Local text parser
Export UTF-8 vCard contacts to CSV locally.
- vCard 3.0 and 4.0 only; version 2.1, quoted-printable and embedded binary properties are unsupported. JSON preserves property names, parameters and text; CSV exports selected contact fields, with repeated fields represented as JSON arrays. Maximum 64 MiB / 100,000 contacts.
HAR network log to CSV
HAR → CSV · Local text parser
Summarize HAR request URLs, methods, response statuses, timing and sizes as CSV.
- Maximum 64 MiB / 100,000 requests. Request and response bodies, cookies and headers are omitted. URLs may contain sensitive query parameters; the summary stays local. Missing or unavailable HAR sizes retain their original values.
Inspect PostgreSQL SQL backup
SQL, DUMP, BACKUP → JSON · PostgreSQL COPY reader
List table names, columns and row counts from a PostgreSQL plain SQL COPY dump.
- Plain UTF-8 SQL dumps with text-mode COPY FROM stdin data only. Custom PGDMP, tar/directory archives, INSERT-based dumps and non-UTF-8 dumps are unsupported; use pg_restore or pg_dump to export plain SQL first. SQL is never executed.
- Maximum 64 MiB, 1,000 tables, 100,000 rows per table and 2 million total cells. Values remain text; JSON preserves SQL NULL, while CSV represents NULL as an empty cell.
PostgreSQL backup table to CSV
SQL, DUMP, BACKUP → CSV · PostgreSQL COPY reader
Extract one table from a PostgreSQL plain SQL COPY dump as CSV.
- Plain UTF-8 SQL dumps with text-mode COPY FROM stdin data only. Custom PGDMP, tar/directory archives, INSERT-based dumps and non-UTF-8 dumps are unsupported; use pg_restore or pg_dump to export plain SQL first. SQL is never executed.
- Maximum 64 MiB, 1,000 tables, 100,000 rows per table and 2 million total cells. Values remain text; JSON preserves SQL NULL, while CSV represents NULL as an empty cell.
PostgreSQL backup table to JSON
SQL, DUMP, BACKUP → JSON · PostgreSQL COPY reader
Extract one table from a PostgreSQL plain SQL COPY dump as JSON.
- Plain UTF-8 SQL dumps with text-mode COPY FROM stdin data only. Custom PGDMP, tar/directory archives, INSERT-based dumps and non-UTF-8 dumps are unsupported; use pg_restore or pg_dump to export plain SQL first. SQL is never executed.
- Maximum 64 MiB, 1,000 tables, 100,000 rows per table and 2 million total cells. Values remain text; JSON preserves SQL NULL, while CSV represents NULL as an empty cell.
Inspect SQLite database
SQLITE, SQLITE3, DB → JSON · sqlite
List SQLite tables, columns and stored schema as a local JSON report.
- SQLite 3 files only, up to 64 MiB. Encrypted databases and sidecar WAL files are not supported. Views are listed but not evaluated.
SQLite table to CSV
SQLITE, SQLITE3, DB → CSV · sqlite
Export one explicitly selected SQLite table to CSV in your browser.
- SQLite 3 files only, up to 64 MiB; select a table, not a view. BLOB values use an explicit hexadecimal object in JSON and JSON object text in CSV. Integers outside the JavaScript safe range use decimal strings; smaller integers remain numbers.
- Maximum 100,000 rows and 2 million cells. UTF-8 output. No database connection or SQL execution against an external server.
SQLite table to JSON
SQLITE, SQLITE3, DB → JSON · sqlite
Export one explicitly selected SQLite table to JSON in your browser.
- SQLite 3 files only, up to 64 MiB; select a table, not a view. BLOB values use an explicit hexadecimal object in JSON and JSON object text in CSV. Integers outside the JavaScript safe range use decimal strings; smaller integers remain numbers.
- Maximum 100,000 rows and 2 million cells. UTF-8 output. No database connection or SQL execution against an external server.
CSV to SQLite database
CSV → SQLITE · sqlite
Create a portable, single-table SQLite database from CSV records.
- Creates a table named records with TEXT columns. CSV values stay strings; nested JSON values are JSON text; null remains SQL NULL. This does not reproduce keys, indexes, relationships or an existing schema.
- Maximum 100,000 rows and 2 million cells. UTF-8 output. No database connection or SQL execution against an external server.
JSON to SQLite database
JSON → SQLITE · sqlite
Create a portable, single-table SQLite database from JSON records.
- Creates a table named records with TEXT columns. CSV values stay strings; nested JSON values are JSON text; null remains SQL NULL. This does not reproduce keys, indexes, relationships or an existing schema.
- Maximum 100,000 rows and 2 million cells. UTF-8 output. No database connection or SQL execution against an external server.
Parquet to JSON
PARQUET → JSON · Parquet reader
Read Apache Parquet rows and export JSON locally.
- Maximum 64 MiB and 100,000 rows / 2 million values. Uncompressed and Snappy files are supported; other codecs are rejected. Integers outside the JavaScript safe range use decimal strings; smaller integers remain numbers. Timestamps use ISO text and binary values use hexadecimal objects. Nested values become JSON text in CSV.
Parquet to CSV
PARQUET → CSV · Parquet reader
Read Apache Parquet rows and export CSV locally.
- Maximum 64 MiB and 100,000 rows / 2 million values. Uncompressed and Snappy files are supported; other codecs are rejected. Integers outside the JavaScript safe range use decimal strings; smaller integers remain numbers. Timestamps use ISO text and binary values use hexadecimal objects. Nested values become JSON text in CSV.
Inspect Parquet schema
PARQUET → JSON · Parquet reader
Read Parquet column schema, row groups and metadata without exporting row data.
- Maximum 64 MiB. Reports the stored file metadata; it does not modify or repair the file.
JSON Lines to JSON
JSONL, NDJSON → JSON · Structured text
Convert newline-delimited JSON records to JSON.
- UTF-8, one JSON object per non-empty line; maximum 64 MiB / 100,000 records. Invalid lines are reported by line number. Nested values become JSON text in CSV.
JSON Lines to CSV
JSONL, NDJSON → CSV · Structured text
Convert newline-delimited JSON records to CSV.
- UTF-8, one JSON object per non-empty line; maximum 64 MiB / 100,000 records. Invalid lines are reported by line number. Nested values become JSON text in CSV.
JSON to JSON Lines
JSON → JSONL · Structured text
Write a JSON array of records as one compact object per line for data pipelines.
- UTF-8 input must be an array of objects. Maximum 64 MiB / 100,000 records.
CAD / 3D
Mesh conversion and model inspection.
3D / CAD to OBJ
STL, PLY, GLTF, GLB, FBX, DAE, STEP, STP, IGES, IGS, BREP → OBJ · Three.js + Assimp + Open CASCADE
Convert static meshes and FBX/DAE scenes; tessellate STEP, IGES or BREP solids locally.
- Maximum input 80 MB. STEP / IGES tessellation uses millimeters. STL / OBJ / PLY use source units.
- Self-contained uncompressed glTF/GLB only; external buffers/images, skins and morph targets are rejected. Animation is discarded.
- FBX/DAE base geometry must be contained in one file. FBX blend shapes and animation are discarded; skins, COLLADA controllers, points and lines are rejected. Assimp applies scene transforms and importer unit/axis conventions; check dimensions before manufacturing. Maximum 2 million expanded vertices. External textures are ignored and never fetched.
- Triangle geometry export only. CAD solids become triangles; hierarchy, materials, textures, normals, UVs, vertex/face colors, animation and rigging are discarded. CAD export is unavailable.
3D / CAD to STL
OBJ, PLY, GLTF, GLB, FBX, DAE, STEP, STP, IGES, IGS, BREP → STL · Three.js + Assimp + Open CASCADE
Convert static meshes and FBX/DAE scenes; tessellate STEP, IGES or BREP solids locally.
- Maximum input 80 MB. STEP / IGES tessellation uses millimeters. STL / OBJ / PLY use source units.
- Self-contained uncompressed glTF/GLB only; external buffers/images, skins and morph targets are rejected. Animation is discarded.
- FBX/DAE base geometry must be contained in one file. FBX blend shapes and animation are discarded; skins, COLLADA controllers, points and lines are rejected. Assimp applies scene transforms and importer unit/axis conventions; check dimensions before manufacturing. Maximum 2 million expanded vertices. External textures are ignored and never fetched.
- Triangle geometry export only. CAD solids become triangles; hierarchy, materials, textures, normals, UVs, vertex/face colors, animation and rigging are discarded. CAD export is unavailable.
3D / CAD to PLY
OBJ, STL, GLTF, GLB, FBX, DAE, STEP, STP, IGES, IGS, BREP → PLY · Three.js + Assimp + Open CASCADE
Convert static meshes and FBX/DAE scenes; tessellate STEP, IGES or BREP solids locally.
- Maximum input 80 MB. STEP / IGES tessellation uses millimeters. STL / OBJ / PLY use source units.
- Self-contained uncompressed glTF/GLB only; external buffers/images, skins and morph targets are rejected. Animation is discarded.
- FBX/DAE base geometry must be contained in one file. FBX blend shapes and animation are discarded; skins, COLLADA controllers, points and lines are rejected. Assimp applies scene transforms and importer unit/axis conventions; check dimensions before manufacturing. Maximum 2 million expanded vertices. External textures are ignored and never fetched.
- Triangle geometry export only. CAD solids become triangles; hierarchy, materials, textures, normals, UVs, vertex/face colors, animation and rigging are discarded. CAD export is unavailable.
3D / CAD to GLB
OBJ, STL, PLY, GLTF, FBX, DAE, STEP, STP, IGES, IGS, BREP → GLB · Three.js + Assimp + Open CASCADE
Convert static meshes and FBX/DAE scenes; tessellate STEP, IGES or BREP solids locally.
- Maximum input 80 MB. STEP / IGES tessellation uses millimeters. STL / OBJ / PLY use source units.
- Self-contained uncompressed glTF/GLB only; external buffers/images, skins and morph targets are rejected. Animation is discarded.
- FBX/DAE base geometry must be contained in one file. FBX blend shapes and animation are discarded; skins, COLLADA controllers, points and lines are rejected. Assimp applies scene transforms and importer unit/axis conventions; check dimensions before manufacturing. Maximum 2 million expanded vertices. External textures are ignored and never fetched.
- Triangle geometry export only. CAD solids become triangles; hierarchy, materials, textures, normals, UVs, vertex/face colors, animation and rigging are discarded. CAD export is unavailable.
3D / CAD to GLTF
OBJ, STL, PLY, GLB, FBX, DAE, STEP, STP, IGES, IGS, BREP → GLTF · Three.js + Assimp + Open CASCADE
Convert static meshes and FBX/DAE scenes; tessellate STEP, IGES or BREP solids locally.
- Maximum input 80 MB. STEP / IGES tessellation uses millimeters. STL / OBJ / PLY use source units.
- Self-contained uncompressed glTF/GLB only; external buffers/images, skins and morph targets are rejected. Animation is discarded.
- FBX/DAE base geometry must be contained in one file. FBX blend shapes and animation are discarded; skins, COLLADA controllers, points and lines are rejected. Assimp applies scene transforms and importer unit/axis conventions; check dimensions before manufacturing. Maximum 2 million expanded vertices. External textures are ignored and never fetched.
- Triangle geometry export only. CAD solids become triangles; hierarchy, materials, textures, normals, UVs, vertex/face colors, animation and rigging are discarded. CAD export is unavailable.
Geospatial
Geographic vector data.
Vector dataset to GeoJSON
GEOJSON, KML, GPKG, ZIP → GEOJSON · GDAL WASM
Convert one selected vector layer and reproject it entirely on your device.
- 64 MB input / ZIP expansion limit. ZIP must contain one complete Shapefile; loose .shp sidecars are not accepted. Explicit layer, source CRS and target CRS choices required.
- Only GeoJSON, KML, GeoPackage and Shapefile drivers are registered. External resources and network access are blocked. Output layer is named converted.
- GeoJSON / KML output is WGS84. Shapefile field names and types are limited; KML renames standard name/description fields and may discard unsupported attributes. Styles and non-selected layers are omitted.
Vector dataset to GeoPackage
GEOJSON, KML, GPKG, ZIP → GPKG · GDAL WASM
Convert one selected vector layer and reproject it entirely on your device.
- 64 MB input / ZIP expansion limit. ZIP must contain one complete Shapefile; loose .shp sidecars are not accepted. Explicit layer, source CRS and target CRS choices required.
- Only GeoJSON, KML, GeoPackage and Shapefile drivers are registered. External resources and network access are blocked. Output layer is named converted.
- GeoJSON / KML output is WGS84. Shapefile field names and types are limited; KML renames standard name/description fields and may discard unsupported attributes. Styles and non-selected layers are omitted.
Vector dataset to KML
GEOJSON, KML, GPKG, ZIP → KML · GDAL WASM
Convert one selected vector layer and reproject it entirely on your device.
- 64 MB input / ZIP expansion limit. ZIP must contain one complete Shapefile; loose .shp sidecars are not accepted. Explicit layer, source CRS and target CRS choices required.
- Only GeoJSON, KML, GeoPackage and Shapefile drivers are registered. External resources and network access are blocked. Output layer is named converted.
- GeoJSON / KML output is WGS84. Shapefile field names and types are limited; KML renames standard name/description fields and may discard unsupported attributes. Styles and non-selected layers are omitted.
Vector dataset to Shapefile ZIP
GEOJSON, KML, GPKG, ZIP → ZIP · GDAL WASM
Convert one selected vector layer and reproject it entirely on your device.
- 64 MB input / ZIP expansion limit. ZIP must contain one complete Shapefile; loose .shp sidecars are not accepted. Explicit layer, source CRS and target CRS choices required.
- Only GeoJSON, KML, GeoPackage and Shapefile drivers are registered. External resources and network access are blocked. Output layer is named converted.
- GeoJSON / KML output is WGS84. Shapefile field names and types are limited; KML renames standard name/description fields and may discard unsupported attributes. Styles and non-selected layers are omitted.
Reproject GeoTIFF band
TIF, TIFF → TIF · GDAL WASM
Select one raster band and export a reprojected, losslessly compressed GeoTIFF.
- 64 MB input and 16 million pixels. Select one band and explicit coordinate systems.
- Nearest-neighbor resampling; output keeps source pixel dimensions. Other bands, pyramids, styling and auxiliary metadata are omitted. Remote resources are blocked.
GeoTIFF band to PNG
TIF, TIFF → PNG · GDAL WASM
Preview one raster band as a contrast-scaled grayscale PNG.
- 64 MB input and 16 million pixels. Select one band and explicitly confirm source coordinates and source pixel grid.
- Pixel values are scaled to 8-bit for display. PNG discards georeferencing, original numeric precision, other bands and dataset metadata. No reprojection.
GeoJSON to KML
GEOJSON → KML · Native WGS84 vector mapping
Map self-contained WGS84 point, line and polygon features into KML.
- 20 MB / 100,000 features. Explicit WGS84 and layer choices required. No reprojection, Shapefile, GeoPackage or raster drivers.
- Properties become KML ExtendedData strings. Nested properties become JSON text; feature IDs, styles and bbox are omitted.
KML to GeoJSON
KML → GEOJSON · Native WGS84 vector mapping
Extract vector placemarks from a self-contained KML document.
- 20 MB / 100,000 features. All selected placemarks form one collection. MultiGeometry becomes GeometryCollection.
- Styles, altitude modes, timestamps, folder hierarchy and feature IDs are omitted. Links, overlays, tracks, 3D models and typed SchemaData are rejected. No KMZ.
Scientific
Scientific matrices, biological sequences and genomic annotations.
HDF5 dataset to JSON
H5, HDF5, HDF, NXS → JSON · h5wasm
Select one numeric HDF5 dataset and export its values locally.
- 100 MB input; 2 million selected elements. Explicit dataset path required. Compound, reference, string and variable-length data unsupported.
- JSON preserves dimensions and dtype in an envelope. CSV contains values only, without headers; rank must be 1 or 2. Attributes are omitted; unsafe integers and non-finite values are rejected.
HDF5 dataset to CSV
H5, HDF5, HDF, NXS → CSV · h5wasm
Select one numeric HDF5 dataset and export its values locally.
- 100 MB input; 2 million selected elements. Explicit dataset path required. Compound, reference, string and variable-length data unsupported.
- JSON preserves dimensions and dtype in an envelope. CSV contains values only, without headers; rank must be 1 or 2. Attributes are omitted; unsafe integers and non-finite values are rejected.
Numeric data to HDF5
JSON, CSV → H5 · h5wasm
Create a single selected HDF5 dataset from a numeric matrix or an exported JSON envelope.
- 2 million finite numeric elements. CSV requires a rectangular matrix without a header and writes float64.
- JSON must contain flat data, shape and dtype. Creates a new file with one dataset; does not preserve source attributes.
Inspect FASTA sequences
FASTA, FA, FNA, FFN, FAA, FRN → JSON · Local sequence parser
Summarize FASTA record lengths and sequence symbol counts locally.
- UTF-8, uncompressed files only, maximum 64 MiB, 100,000 records and 20 million sequence symbols. No alignment or biological interpretation.
- Accepts IUPAC nucleotide and protein letters, gaps and stop symbols. Sequence case is preserved. Symbol counts are literal; alphabet and DNA/protein identity are not inferred. Semicolon comments are omitted.
FASTA to CSV
FASTA, FA, FNA, FFN, FAA, FRN → CSV · Local sequence parser
Export FASTA identifiers, descriptions and sequence strings to CSV.
- UTF-8, uncompressed files only, maximum 64 MiB, 100,000 records and 20 million sequence symbols. No alignment or biological interpretation.
- Accepts IUPAC nucleotide and protein letters, gaps and stop symbols. Sequence case is preserved. Symbol counts are literal; alphabet and DNA/protein identity are not inferred. Semicolon comments are omitted.
FASTA to JSON
FASTA, FA, FNA, FFN, FAA, FRN → JSON · Local sequence parser
Export FASTA identifiers, descriptions and sequence strings to JSON.
- UTF-8, uncompressed files only, maximum 64 MiB, 100,000 records and 20 million sequence symbols. No alignment or biological interpretation.
- Accepts IUPAC nucleotide and protein letters, gaps and stop symbols. Sequence case is preserved. Symbol counts are literal; alphabet and DNA/protein identity are not inferred. Semicolon comments are omitted.
FASTA DNA reverse complement
FASTA, FA, FNA, FFN, FAA, FRN → FASTA · Local sequence parser
Reverse complement IUPAC DNA sequences in a FASTA file while retaining their headers.
- UTF-8, uncompressed files only, maximum 64 MiB, 100,000 records and 20 million sequence symbols. No alignment or biological interpretation.
- DNA IUPAC symbols only; RNA U, gaps, stop symbols and protein-only symbols are rejected. Case is preserved.
Inspect FASTQ reads and quality
FASTQ, FQ → JSON · Local sequence parser
Inspect FASTQ read lengths and explicit Phred+33 quality statistics in your browser.
- UTF-8, uncompressed files only, maximum 64 MiB, 100,000 records and 20 million sequence symbols. No alignment or biological interpretation.
- Four-line FASTQ records only, no wrapped sequences or quality. IUPAC nucleotide symbols and printable ASCII quality. Sequence/quality lengths and repeated plus-line headers must match. Inspection assumes Phred+33 explicitly; historical Phred+64 and Solexa scores are not detected.
FASTQ to FASTA
FASTQ, FQ → FASTA · Local sequence parser
Extract FASTQ read headers and sequences as FASTA, discarding quality scores.
- UTF-8, uncompressed files only, maximum 64 MiB, 100,000 records and 20 million sequence symbols. No alignment or biological interpretation.
- Four-line FASTQ records only, no wrapped sequences or quality. IUPAC nucleotide symbols and printable ASCII quality. Sequence/quality lengths and repeated plus-line headers must match. Inspection assumes Phred+33 explicitly; historical Phred+64 and Solexa scores are not detected.
FASTQ to CSV
FASTQ, FQ → CSV · Local sequence parser
Export FASTQ headers, sequences and original quality strings to CSV.
- UTF-8, uncompressed files only, maximum 64 MiB, 100,000 records and 20 million sequence symbols. No alignment or biological interpretation.
- Four-line FASTQ records only, no wrapped sequences or quality. IUPAC nucleotide symbols and printable ASCII quality. Sequence/quality lengths and repeated plus-line headers must match. Inspection assumes Phred+33 explicitly; historical Phred+64 and Solexa scores are not detected.
FASTQ to JSON
FASTQ, FQ → JSON · Local sequence parser
Export FASTQ headers, sequences and original quality strings to JSON.
- UTF-8, uncompressed files only, maximum 64 MiB, 100,000 records and 20 million sequence symbols. No alignment or biological interpretation.
- Four-line FASTQ records only, no wrapped sequences or quality. IUPAC nucleotide symbols and printable ASCII quality. Sequence/quality lengths and repeated plus-line headers must match. Inspection assumes Phred+33 explicitly; historical Phred+64 and Solexa scores are not detected.
BED intervals to CSV
BED → CSV · Local genomic table parser
Export BED intervals as CSV while retaining the source coordinate convention and raw annotation fields.
- UTF-8, uncompressed input only, maximum 64 MiB, 100,000 records and 2 million cells. No assembly or coordinate-system conversion. Missing values remain literal dots; CSV cells are not sanitized for spreadsheet formulas.
- BED3 through BED12 with a consistent column count. Coordinates remain 0-based, half-open. Browser/track/comment lines are omitted from CSV and retained in JSON metadata. BED block fields stay literal comma-separated text.
BED intervals to JSON
BED → JSON · Local genomic table parser
Export BED intervals as JSON while retaining the source coordinate convention and raw annotation fields.
- UTF-8, uncompressed input only, maximum 64 MiB, 100,000 records and 2 million cells. No assembly or coordinate-system conversion. Missing values remain literal dots; CSV cells are not sanitized for spreadsheet formulas.
- BED3 through BED12 with a consistent column count. Coordinates remain 0-based, half-open. Browser/track/comment lines are omitted from CSV and retained in JSON metadata. BED block fields stay literal comma-separated text.
GFF3 features to CSV
GFF, GFF3 → CSV · Local genomic table parser
Export GFF3 features as CSV while retaining the source coordinate convention and raw annotation fields.
- UTF-8, uncompressed input only, maximum 64 MiB, 100,000 records and 2 million cells. No assembly or coordinate-system conversion. Missing values remain literal dots; CSV cells are not sanitized for spreadsheet formulas.
- Requires ##gff-version 3 and nine tab-separated columns. Coordinates remain 1-based, inclusive. Attributes stay literal encoded text. Directives/comments are retained in JSON metadata; embedded ##FASTA sequence is omitted.
GFF3 features to JSON
GFF, GFF3 → JSON · Local genomic table parser
Export GFF3 features as JSON while retaining the source coordinate convention and raw annotation fields.
- UTF-8, uncompressed input only, maximum 64 MiB, 100,000 records and 2 million cells. No assembly or coordinate-system conversion. Missing values remain literal dots; CSV cells are not sanitized for spreadsheet formulas.
- Requires ##gff-version 3 and nine tab-separated columns. Coordinates remain 1-based, inclusive. Attributes stay literal encoded text. Directives/comments are retained in JSON metadata; embedded ##FASTA sequence is omitted.
GTF gene annotations to CSV
GTF → CSV · Local genomic table parser
Export GTF gene annotations as CSV while retaining the source coordinate convention and raw annotation fields.
- UTF-8, uncompressed input only, maximum 64 MiB, 100,000 records and 2 million cells. No assembly or coordinate-system conversion. Missing values remain literal dots; CSV cells are not sanitized for spreadsheet formulas.
- Nine tab-separated columns with quoted GTF attributes. Coordinates remain 1-based, inclusive. Attributes stay literal text; comments are retained only in JSON metadata.
GTF gene annotations to JSON
GTF → JSON · Local genomic table parser
Export GTF gene annotations as JSON while retaining the source coordinate convention and raw annotation fields.
- UTF-8, uncompressed input only, maximum 64 MiB, 100,000 records and 2 million cells. No assembly or coordinate-system conversion. Missing values remain literal dots; CSV cells are not sanitized for spreadsheet formulas.
- Nine tab-separated columns with quoted GTF attributes. Coordinates remain 1-based, inclusive. Attributes stay literal text; comments are retained only in JSON metadata.
Genomic VCF variants to CSV
VCF → CSV · Local genomic table parser
Export Genomic VCF variants as CSV while retaining the source coordinate convention and raw annotation fields.
- UTF-8, uncompressed input only, maximum 64 MiB, 100,000 records and 2 million cells. No assembly or coordinate-system conversion. Missing values remain literal dots; CSV cells are not sanitized for spreadsheet formulas.
- Plain VCF 4.1–4.5 with ##fileformat and #CHROM headers. INFO, FORMAT, ALT and sample genotypes stay literal strings; no variant normalization, allele splitting, reference lookup or genotype interpretation. This is genomic VCF, not a vCard contact file.
Genomic VCF variants to JSON
VCF → JSON · Local genomic table parser
Export Genomic VCF variants as JSON while retaining the source coordinate convention and raw annotation fields.
- UTF-8, uncompressed input only, maximum 64 MiB, 100,000 records and 2 million cells. No assembly or coordinate-system conversion. Missing values remain literal dots; CSV cells are not sanitized for spreadsheet formulas.
- Plain VCF 4.1–4.5 with ##fileformat and #CHROM headers. INFO, FORMAT, ALT and sample genotypes stay literal strings; no variant normalization, allele splitting, reference lookup or genotype interpretation. This is genomic VCF, not a vCard contact file.
Inspect genomic VCF variants
VCF → JSON · Local genomic table parser
List a genomic VCF file’s version, sample names, variant counts and chromosome counts locally.
- Plain UTF-8 VCF 4.1–4.5 only, maximum 64 MiB, 100,000 variants and 2 million cells. Not vCard contacts, binary BCF or compressed VCF. Counts describe records, not normalized alleles; genotypes are not interpreted.
Inspect Matrix Market matrix
MTX → JSON · Local scientific matrix parser
Inspect Matrix Market sparse coordinates and dimensions locally.
- Maximum 64 MiB and 2 million stored values/coordinates; each dimension is at most 2 million. Only finite values are supported. Dense CSV is capped at 2 million cells.
- Matrix Market coordinate real, integer or pattern; general or symmetric only. JSON retains 1-based coordinates and symmetric storage. Duplicate coordinates are summed, with unsafe integer sums rejected. CSV expands symmetric entries. Complex, array, skew-symmetric and Hermitian formats are unsupported.
Matrix Market to CSV
MTX → CSV · Local scientific matrix parser
Export Matrix Market sparse data as CSV with explicit shape and precision limits.
- Maximum 64 MiB and 2 million stored values/coordinates; each dimension is at most 2 million. Only finite values are supported. Dense CSV is capped at 2 million cells.
- Matrix Market coordinate real, integer or pattern; general or symmetric only. JSON retains 1-based coordinates and symmetric storage. Duplicate coordinates are summed, with unsafe integer sums rejected. CSV expands symmetric entries. Complex, array, skew-symmetric and Hermitian formats are unsupported.
Matrix Market to JSON
MTX → JSON · Local scientific matrix parser
Export Matrix Market sparse data as JSON with explicit shape and precision limits.
- Maximum 64 MiB and 2 million stored values/coordinates; each dimension is at most 2 million. Only finite values are supported. Dense CSV is capped at 2 million cells.
- Matrix Market coordinate real, integer or pattern; general or symmetric only. JSON retains 1-based coordinates and symmetric storage. Duplicate coordinates are summed, with unsafe integer sums rejected. CSV expands symmetric entries. Complex, array, skew-symmetric and Hermitian formats are unsupported.
Inspect NumPy NPY matrix
NPY → JSON · Local scientific matrix parser
Inspect NumPy NPY shape, numeric dtype and storage order locally.
- Maximum 64 MiB and 2 million stored values/coordinates; each dimension is at most 2 million. Only finite values are supported. Dense CSV is capped at 2 million cells.
- NPY v1/v2/v3, plain numeric/bool dtype only: signed/unsigned 1/2/4/8-byte integers, float32/64 and bool. Endianness and C/Fortran order are handled. No object/pickle, structured, string, float16, complex, NPZ or masked arrays. JSON stores flat data in original storage order with shape/dtype; unsafe integers are decimal strings. CSV supports rank 0–2 and lays out rows/columns; JSON supports rank up to 32.
NumPy NPY to CSV
NPY → CSV · Local scientific matrix parser
Export NumPy numeric arrays as CSV with explicit shape and precision limits.
- Maximum 64 MiB and 2 million stored values/coordinates; each dimension is at most 2 million. Only finite values are supported. Dense CSV is capped at 2 million cells.
- NPY v1/v2/v3, plain numeric/bool dtype only: signed/unsigned 1/2/4/8-byte integers, float32/64 and bool. Endianness and C/Fortran order are handled. No object/pickle, structured, string, float16, complex, NPZ or masked arrays. JSON stores flat data in original storage order with shape/dtype; unsafe integers are decimal strings. CSV supports rank 0–2 and lays out rows/columns; JSON supports rank up to 32.
NumPy NPY to JSON
NPY → JSON · Local scientific matrix parser
Export NumPy numeric arrays as JSON with explicit shape and precision limits.
- Maximum 64 MiB and 2 million stored values/coordinates; each dimension is at most 2 million. Only finite values are supported. Dense CSV is capped at 2 million cells.
- NPY v1/v2/v3, plain numeric/bool dtype only: signed/unsigned 1/2/4/8-byte integers, float32/64 and bool. Endianness and C/Fortran order are handled. No object/pickle, structured, string, float16, complex, NPZ or masked arrays. JSON stores flat data in original storage order with shape/dtype; unsafe integers are decimal strings. CSV supports rank 0–2 and lays out rows/columns; JSON supports rank up to 32.
Numeric CSV to Matrix Market
CSV → MTX · Local scientific matrix parser
Turn a headerless numeric CSV matrix into sparse Matrix Market coordinate data, omitting zero entries.
- Headerless rectangular UTF-8 CSV, maximum 64 MiB and 2 million cells. Cells must be finite decimal numbers; empty cells and unsafe integers are rejected. Writes real general coordinates with 1-based indices. Row/column labels and metadata are not included.
Inspect HDF5 scientific file
H5, HDF5, HDF, NXS, LOOM, H5MU, NC → JSON · h5wasm
List datasets, dimensions and datatypes in HDF5, Loom, MuData and HDF5-based NetCDF4 files.
- HDF5 containers only; classic NetCDF3 is unsupported. Maximum 64 MiB, 24 levels and 1,000 entries. External and symbolic links are rejected. No dataset values are exported.
Inspect AnnData H5AD
H5AD → JSON · h5wasm
Inspect AnnData groups and datasets, including expression matrices, cell observations and gene variables.
- Modern AnnData HDF5 encodings only. Maximum 64 MiB and 2 million values per dataset. Numeric matrices must be finite and exactly representable; external links and unsupported encodings are rejected.
- Matrix JSON retains sparse indices and pointers; matrix CSV expands to dense values with a 2 million cell cap and no row/column labels. Export obs and var separately for labels. Annotation CSV turns missing values into empty cells. This does not recreate a complete H5AD file.
H5AD matrix to JSON
H5AD → JSON · h5wasm
Export an AnnData matrix as JSON, preserving dense values or sparse CSR and CSC indices and pointers.
- Modern AnnData HDF5 encodings only. Maximum 64 MiB and 2 million values per dataset. Numeric matrices must be finite and exactly representable; external links and unsupported encodings are rejected.
- Matrix JSON retains sparse indices and pointers; matrix CSV expands to dense values with a 2 million cell cap and no row/column labels. Export obs and var separately for labels. Annotation CSV turns missing values into empty cells. This does not recreate a complete H5AD file.
H5AD matrix to CSV
H5AD → CSV · h5wasm
Export a selected AnnData expression matrix as dense CSV, expanding sparse CSR or CSC storage locally.
- Modern AnnData HDF5 encodings only. Maximum 64 MiB and 2 million values per dataset. Numeric matrices must be finite and exactly representable; external links and unsupported encodings are rejected.
- Matrix JSON retains sparse indices and pointers; matrix CSV expands to dense values with a 2 million cell cap and no row/column labels. Export obs and var separately for labels. Annotation CSV turns missing values into empty cells. This does not recreate a complete H5AD file.
H5AD cell annotations to CSV
H5AD → CSV · h5wasm
Export AnnData cell observations to CSV, decoding categorical annotations and preserving cell index labels.
- Modern AnnData HDF5 encodings only. Maximum 64 MiB and 2 million values per dataset. Numeric matrices must be finite and exactly representable; external links and unsupported encodings are rejected.
- Matrix JSON retains sparse indices and pointers; matrix CSV expands to dense values with a 2 million cell cap and no row/column labels. Export obs and var separately for labels. Annotation CSV turns missing values into empty cells. This does not recreate a complete H5AD file.
H5AD gene annotations to CSV
H5AD → CSV · h5wasm
Export AnnData gene variables to CSV, decoding categorical annotations and preserving gene index labels.
- Modern AnnData HDF5 encodings only. Maximum 64 MiB and 2 million values per dataset. Numeric matrices must be finite and exactly representable; external links and unsupported encodings are rejected.
- Matrix JSON retains sparse indices and pointers; matrix CSV expands to dense values with a 2 million cell cap and no row/column labels. Export obs and var separately for labels. Annotation CSV turns missing values into empty cells. This does not recreate a complete H5AD file.
Text
Plain text and extracted content.
Text to HTML
TXT, MD → HTML · Native text
Create a standalone UTF-8 HTML page with readable, escaped text.
- Markdown syntax remains literal. No scripts, external fonts or remote resources.
Text to PDF
TXT → PDF · pdf-lib
Create a searchable, simply formatted PDF from readable text.
- Plain text reflow with Helvetica and Western European characters only. Other scripts fail explicitly. Illustrations, book layout and styling are omitted. Maximum 500 pages.
Jupyter notebook to Markdown
IPYNB → MD · Local text parser
Extract Jupyter notebook source cells as a readable Markdown document with fenced code.
- Notebook v4 only, up to 64 MiB / 100,000 cells. Execution outputs, embedded attachments and display widgets are omitted. Cells are never executed.
Jupyter notebook to Python script
IPYNB → PY · Local text parser
Extract code cells from a Python Jupyter notebook into a script with cell separators.
- Notebook v4 with a declared Python kernel only. Markdown and outputs are omitted. IPython magics remain literal and may not run as ordinary Python. Code is never executed. Maximum 64 MiB / 100,000 cells.