Skip to content

Latest commit

 

History

2 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Local File Converter

A file converter that runs entirely on this PC. No accounts, no uploads, no internet. The web page is served from 127.0.0.1 only, so nothing outside the machine can reach it, and every conversion is done by tools already installed locally (ffmpeg, Pillow, MuPDF, pandas, and the Office apps when present).

Local File Converter UI

Run it

Double-click run.bat, or:

python fileconverter/server.py

It opens http://127.0.0.1:8377 in your browser. Drop files, pick a target format, hit Convert. The result downloads through the browser like any other file. Temp files live in %TEMP%\localconverter and are deleted after each conversion.

Command line

python fileconverter/cli.py photo.heic --to jpg
python fileconverter/cli.py *.png --to webp --opt quality=80 --out converted
python fileconverter/cli.py report.docx --to pdf
python fileconverter/cli.py --list mp4       # what can mp4 become, and the options
python fileconverter/cli.py --matrix         # every source -> targets

What it converts

Kind In Out Engine
Images png jpg webp gif bmp tiff ico avif heic heif tga psd dds ppm pcx eps png jpg webp gif bmp tiff ico avif heic pdf tga ppm pcx Pillow + pillow-heif
Vector svg png jpg webp avif bmp tiff pdf MuPDF
Audio mp3 wav flac aac m4a ogg opus wma aiff ac3 amr ape ... (and any video) mp3 wav flac aac m4a ogg opus wma aiff ac3 ffmpeg
Video mp4 mkv mov avi webm flv wmv m4v ts mpg 3gp ogv gif mts vob ... mp4 mkv mov avi webm flv wmv m4v ts mpg 3gp ogv gif, plus jpg/png frame grab ffmpeg
Subtitles srt vtt ass ssa sub sbv lrc srt vtt ass ffmpeg
Text txt log md html html pdf md txt docx markdown, MuPDF Story, html2text
Word docs docx html md txt (+ pdf without Word) mammoth
Word docs doc docx rtf odt dot dotx mht pdf xps docx doc rtf odt html txt md Microsoft Word (if installed)
Spreadsheets csv tsv xlsx xls xlsm json ndjson parquet feather csv tsv xlsx json ndjson parquet feather html md pandas
Spreadsheets xlsx xls xlsm ods csv pdf xlsx xls ods html Microsoft Excel (if installed)
Presentations pptx ppt pps ppsx odp pdf pptx ppt odp png jpg Microsoft PowerPoint (if installed)
PDF pdf txt md html docx svg png jpg webp tiff (per page, zipped when multi-page) MuPDF + pdf2docx
E-books epub xps cbz fb2 mobi pdf txt html docx png jpg webp tiff MuPDF
Config json yaml toml json yaml PyYAML
Archives zip tar tar.gz tar.bz2 tar.xz zip tar tar.gz tar.bz2 tar.xz stdlib
Fonts ttf otf woff woff2 ttf otf woff (woff2 needs brotli) fontTools (if installed)

The Supported formats & engines panel at the bottom of the page shows exactly what is available on this machine.

Options

Each target exposes a few options behind the gear button: image quality and max size, video quality / resolution / frame rate / trim range, audio bitrate, GIF fps and width, PDF page range and DPI, Excel sheet selection.

Adding a converter

Add a Converter(...) in any module under converters/ and register it. A converter is a function fn(src, dst, options) -> Path. If several converters cover the same pair, the highest priority wins.

Install on another machine

pip install -r fileconverter/requirements.txt
winget install Gyan.FFmpeg

About

Convert files between formats entirely on your own PC - images, audio, video, documents, spreadsheets, PDF. No uploads.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages