Essentials50 MB The whole app - open, inspect and analyse any file, fully offline
Everything120 MB Everything most people need offline: reading text in images and PDFs, photo-location maps, QR scanning, iPhone (HEIC) photos, archives, EPS/PostScript graphics, AutoCAD and CAD drawings, and the sample gallery
Complete345 MB Opens a popup to add optional extras on top of Everything: reading text in 30+ languages, and on-device AI vocal separation - pick either or both
Credits
Install
Add to home screen for an offline PWA. Service worker caches the app shell. Use the buttons above to pre-cache heavy dependencies.
Audio
Native Web Audio API plus a hand-written radix-2 FFT for spectrogram and analysis. BPM read from ID3/MP4 tags when available, estimated via onset detection otherwise.
Video
HTML5 video for playback. Frame rate parsed from MP4 container metadata with FFmpeg fallback. Automatic scene detection with confidence scoring. iOS visible-player fallback.
QR codes
jsQRlicence. Scans for QR codes in photos. Loaded only when needed.
lottie-weblicence. Plays Lottie / Bodymovin JSON animations. Loaded only when needed.
Spreadsheets
SheetJSlicence. Reads the binary Excel workbook (.xlsb) into sheets. Loaded only when needed.
PostScript
Ghostscriptlicence compiled to WASM. Renders EPS / PostScript graphics. ~16 MB, in the Everything download.
UI font
Geist and Geist Monolicence by Vercel are the interface and monospace typefaces, used under the SIL Open Font License.
PDF
pdf.jslicence by Mozilla. Renders PDF pages, extracts text, and supports OCR scanning of image-only pages via Tesseract. Loaded only for PDF files.
3D PDF
nanoPRClicence by CascadiaVoxel, compiled to WASM with small changes of ours (source in the repository's tools/nanoprc). Decodes the PRC models inside 3D PDFs. ~600 KB, in the Everything download.
DWG
LibreDWGlicence compiled to WASM. Parses AutoCAD .dwg / .dwt drawings and renders them to SVG. ~7 MB, in the Everything download.
File ID
Built-in identification for 1440+ file formats. Adobe, SolidWorks, Fusion 360, AutoCAD, Blender, Office, 3D mesh, executables, fonts, G-Code, log files, and more. Extracts version, author, and metadata from headers, ZIP manifests, ID3 tags, and gzipped XML projects. DOCX documents render with formatted text. AI-generation markers detected in photo metadata.
Tracker music
libopenmptlicence by the OpenMPT project, compiled to WASM (packaged by chiptune3licence). Renders MOD, XM, IT, S3M and around sixty other tracker modules to audio on your device, so they get the full Sound section. ~1.5 MB, in the Everything download.
Molecules
3Dmol.jslicence from the University of Pittsburgh. Draws chemical structures - .mol, .sdf, .pdb, .cif and the rest - as ball-and-stick models, or as ribbon cartoons for proteins. ~500 KB, in the Everything download.
Format research
With thanks to Convert to it!licence, an open-source browser-only file converter, whose handlers we studied when working out which formats can be decoded on-device and how - it is not bundled or used as a dependency.
Photoshop
ag-psdlicence. Decodes .psd / .psb documents - the composite image plus the full layer tree - in the browser. Loaded only when needed.
PCB / EDA
The built-in parser reads KiCad, Altium and other EDA project files and rebuilds boards and schematics into interactive SVG in the browser. With thanks to KiCad, whose open-source file format and board renderer we studied to draw footprints, tracks, zones and copper-layer geometry correctly - it is not bundled or used as a dependency.
Fonts
opentype.jslicence. Reads the font tables and draws every glyph outline for .ttf / .otf / .woff / .woff2 / .ttc. Loaded only when needed.
Spam check
Cloudflare Turnstileterms. A bot check loaded only if you open the suggestion box to send feedback - the one third-party script the site can fetch. It never runs during file analysis, so dropping a file still contacts no server.
ffmpeg.wasmlicence. Audio extraction and frame rate detection for formats the browser can't decode natively. The ~31 MB core (GPL licence) is fetched from a CDN the first time it's needed (then cached for offline use).
3D / CAD
occt-import-jslicence (OpenCASCADElicence). Tessellates STEP, IGES and BREP CAD solids to meshes for the in-browser 3D viewer. ~9 MB, in the Everything download (or loaded on demand).
Sample models
The sample 3MF on the samples page bundles two 3D-printing calibration icons: 3DBenchy, designed by Daniel Norée for Creative Tools and now in the public domain, and Cali Cat - The Calibration Catlicence by Dezign, used under Creative Commons Attribution-NonCommercial-ShareAlike. With thanks to their creators.
E-books
foliate-jslicence reads Kindle / Mobipocket (.mobi, .azw, .azw3 / KF8) e-books; DjVu.jslicence decodes .djvu scanned-document pages. Loaded only when needed.
Databases
sql.jslicence. SQLite compiled to WASM - lists tables, schema and row counts from .sqlite / .db files. mdb-readerlicence reads Microsoft Access .mdb / .accdb tables and rows.
RAW
magick-wasmlicence. ImageMagick compiled to WASM. Converts ARW, CR2, CR3, NEF, and other RAW formats. ~15 MB, loaded only when needed. Full sensor reconstruction (demosaic, white balance, gamma) uses LibRawlicence compiled to WASM, loaded on demand.
AI vocal separation
ONNX Runtime Weblicence by Microsoft runs the neural network in the browser, on the GPU via WebGPU where available and WASM otherwise. The model is Ultimate Vocal Remover’s MDX-Net “Kim Vocal 2” licence. Splits a track into separate vocal and instrumental stems entirely on your device - nothing is uploaded. ~96 MB, in the Complete download.
G-code
The built-in parser and WebGL reconstructor draw 3D-printer and CNC G-code as solid deposited filament. With thanks to OrcaSlicer, whose open-source GCodeProcessor we studied to get the volumetric extrusion-width recovery and bead geometry right - it is not bundled or used as a dependency. Clip export encodes frames with the browser's WebCodecs and packs them into an MP4 with mp4-muxerlicence; where the browser can't supply MP4-ready H.264 (Firefox), the clip is rendered to a WebM with webm-muxerlicence and converted to MP4 by ffmpeg.wasm.