Skip to content

Repository files navigation

LocalFileLab logo

LocalFileLab

Convert, compress, inspect and process files locally in your browser.

Open LocalFileLab Privacy License

TypeScript React Cloudflare Workers WebAssembly

Overview

LocalFileLab is a browser-based toolkit for converting, compressing, inspecting and editing files. Selected file contents stay in the active browser tab and are processed with browser APIs, WebCodecs and WebAssembly-based engines instead of being uploaded to an application conversion server.

The interface supports individual files and batches, specialist studios, format-specific settings, previews, progress reporting, cancellation, light and dark themes, and automatic language selection.

Features

  • File conversion: individual targets and settings per file, or one shared target for a category-based batch.
  • File compression: single-file and same-format batch workflows for images, audio, video, PDFs and archives.
  • PDF Studio: merge, mix, split, extract, remove, rotate, reorder and crop pages; add blank pages, images, page numbers, headers, footers, watermarks, metadata, attachments and forms.
  • OCR: multiple recognition languages, page ranges, layout modes and TXT, DOCX, searchable PDF, HTML, hOCR, Markdown, JSON, CSV or TSV output.
  • Audio Studio: multitrack timeline, clip library, trimming, positioning, gain, pan, fades, filters and effects, analysis, mixing, rendering and .lflstudio project files with embedded source media.
  • Specialist tools: inspect files and metadata, rename batches, edit colors and palettes, compare or merge tables, inspect fonts and pack ORM/ARM textures.
  • Media controls: container-aware video and audio codec selection, resizing, frame rate, quality, bitrate, sample rate and channel settings.
  • Local previews: image and PDF previews, playable audio/video and an audio waveform visualizer.
  • Format directory: searchable format cards and localized technical guides for supported file and project formats.
  • Privacy controls: optional metadata preservation or removal, no account requirement, no application database and no application-server upload path for file contents.
  • Broad localization: German, English, Indonesian, Spanish, French, Italian, Dutch, Polish, Portuguese, Vietnamese, Turkish, Russian, Arabic, Thai, Japanese, Simplified Chinese and Korean.
  • Responsive UI: light and dark themes, keyboard-accessible controls and layouts for desktop and mobile browsers.

Supported formats

Support depends on the file contents, browser, operating system and codecs compiled into the local engines. LocalFileLab keeps containers and codecs separate: for example, MP4 is an output format while H.264 or H.265 is selected in its settings.

Category Important inputs and outputs
Images PNG, JPEG, WebP, AVIF, JPEG XL, APNG, GIF, HEIC/HEIF, TIFF, PSD, SVG, BMP, ICO, PPM, PGM, PBM, PNM, TGA, QOI and PDF
Documents and e-books PDF, DOCX, ODT, PPTX, RTF, TXT, Markdown, HTML/XHTML, EPUB and FB2
Spreadsheets and data XLSX, XLSM, XLSB, XLS, ODS, FODS, DBF, DIF, SYLK, PRN, Apple Numbers, CSV, TSV, JSON, JSONL/NDJSON, XML, YAML, TOML, INI, Properties, ENV and CONF
Audio MP3, AAC, M4A, OGG, Opus, FLAC, WAV, AIFF, WMA, AMR, AC-3, E-AC-3, WavPack, TTA, AU, CAF, W64 and MKA
Video MP4, WebM, MOV, MKV, AVI, 3GP, 3G2, M4V, MPEG/MPG, MPEG-TS, M2TS, OGV, FLV, WMV/ASF and MXF
Video codecs H.264/AVC, H.265/HEVC, MPEG-4 Part 2, MPEG-2, VP8, VP9, Theora, FLV1, WMV2, ProRes and DNxHD/DNxHR
Archives ZIP, 7Z, TAR, GZIP/TGZ, BZIP2/TBZ2, XZ/TXZ, Zstandard/TZST and WIM; plus input support for RAR, CAB, ISO, DMG, CPIO, DEB, RPM, XAR, ARJ, LZH/LHA and LZMA
Fonts TTF, OTF, WOFF, WOFF2, EOT and SVG glyph previews
3D triangle meshes OBJ, STL, ASCII PLY, embedded glTF 2.0, GLB 2.0, OFF, 3MF, COLLADA/DAE and X3D
LocalFileLab projects LFLSTUDIO projects created by Audio Studio

Some formats are intentionally input-only. Complex document layouts can change, and 3D conversion preserves basic triangle geometry rather than materials, textures, rigging or animation.

LFLSTUDIO projects

.lflstudio is a ZIP-based LocalFileLab Studio project container. The current Audio Studio stores a project.json manifest plus the source audio files used by the timeline. The manifest includes a version and studioType discriminator so audio projects can be distinguished from future video or image studio projects. It is an editable project format, not a finished playback format; render the mix to WAV, MP3 or another audio output for regular media players.

Download

Clone with Git

git clone https://github.com/WiSie98/LocalFileLab.git
cd LocalFileLab

Download without Git

Download the current main branch as a ZIP archive, extract it and open a terminal in the extracted directory.

Project setup

Requirements

  • Node.js 22.13.0 or newer
  • npm
  • A current browser for local development

Install and start the development server

npm install
npm run dev

Open the local URL printed by Vinext. The development and production preparation scripts copy the pinned FFmpeg core into the public assets automatically.

Optional environment configuration

Copy .env.example to .env.local and adjust only the values you need:

cp .env.example .env.local

The public site URL, repository link, search verification and Google AdSense slots are optional build-time settings. They are not credentials for accessing selected files.

Quality checks

npm run lint
npm test

npm test creates a production build and runs conversion, archive, download, cancellation, format-guide, metadata and rendered-output tests. To create only the production bundle, run:

npm run build

Deployment

LocalFileLab is prepared for Cloudflare Workers. The production build creates the deployable Wrangler configuration at dist/server/wrangler.json.

Manual Cloudflare deployment

npm install
npm run build
npx wrangler login
npm run deploy

Cloudflare Git integration

Connect the repository in Workers & Pages and use:

Setting Value
Root directory /
Build command npm run build
Deploy command npm run deploy
Production branch main

The current application includes sizeable local WebAssembly engines. Check the generated upload size against the limits of the selected Cloudflare Workers plan before deploying. See CLOUDFLARE_DEPLOYMENT.md for the complete setup, environment variables, custom-domain steps, AdSense verification and size notes.

Architecture and privacy

The React/Vinext UI coordinates specialized local engines:

  • Canvas and dedicated codecs for raster images
  • FFmpeg/WebAssembly with an optional WebCodecs path using browser-selected acceleration
  • SheetJS for spreadsheets and structured tabular formats
  • PDF.js, PDF-Lib and jsPDF for PDF workflows
  • Tesseract.js for OCR
  • 7z-WASM, fflate and Zstandard-WASM for archives
  • Browser workers and AbortSignal-based operation control for long-running tasks
  • Static localized format-guide assets generated at build time

Files are read through browser File objects and results are exposed as temporary object URLs or downloads. Language and theme preferences may be stored locally. Hosting, optional ads, OCR language data and fallback libraries can make network requests, but selected file contents are not sent with those requests.

Repository structure

app/        React UI, conversion engines, workers and localization
content/    German and English source articles for format guides
public/     Public verification files and prepared browser assets
scripts/    Build preparation and localization utilities
tests/      Engine, workflow and rendered-output tests
worker/     Cloudflare worker integration

Contributing

Bug reports and focused improvements are welcome through GitHub Issues. Never attach confidential source files to a public issue; describe the format, browser and error message or provide a minimal non-sensitive reproduction.

License

The project is source-available under the PolyForm Noncommercial License 1.0.0. Private and other noncommercial use is allowed under its terms. Commercial use requires separate written permission from the copyright holder. Third-party packages, codecs and assets retain their respective licenses.

About

Privacy-first browser-based tools for file conversion, compression, PDF editing, and OCR. All files are processed locally on your device—no uploads required.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Contributors

Languages