Drop a file. Pick a format. Done.
A tiny floating orb for your Windows desktop that converts documents, PDFs, spreadsheets, slides, images, audio and video — completely offline. Your files never leave your PC.
Free · 42 formats in, 38 out · OCR for scans · SHRINK · recipes & watch folders · No account, no uploads, no ads
Every feature in under two minutes: drop, pick, convert, batches, TRACE · OCR · SHRINK, recipes, watch folders, Explorer, the panel and updates.
|
🔒 Private by design |
⚡ Three seconds, start to finish |
|
📄 Conversions that actually hold up |
🗂️ Batches and folders |
|
🖱️ Built into Explorer |
🔄 Updates only when you want them |
The orb lives in a corner of your desktop. Drag a file onto it and it opens into a row of
formats. Pick one and it fills with liquid as it converts, then checks off — the new file is
saved next to the original, never overwriting anything (Report (1).docx if the name is taken).
Changed your mind? Click the orb or press Esc while it's converting to cancel.
Scanned PDFs and photos of documents have no real text, just a picture of it. FileMorph reads them on your PC (no upload, no account) whenever you convert one to Word, Excel, text or HTML:
- Scan → Word: paragraphs you can edit, and tables as real Word tables
- Scan → Excel: rows and columns lined up, with amounts as numbers
- OCR: the same PDF, looking exactly the same, with selectable, searchable text
- Photos of receipts, letters and whiteboards → TXT, DOCX or XLSX
Drop a scanned PDF and OCR is the first choice offered. Pages that already have text are left exactly as they are. Reads English and about 50 other Latin-script languages.
Pick SHRINK when something is too big to email or upload. You get the same format with the
weight taken out (Report - small.pdf), and the orb shows what you saved: 6.2 MB → 1.4 MB.
| What shrinks | |
|---|---|
| pictures re-encoded at a sensible resolution, fonts and leftovers compacted. Text stays text | |
| Photos (JPG, PNG, WebP, AVIF, TIFF) | re-encoded, very large photos scaled down; colours and orientation kept |
| Word, PowerPoint, Excel | the pictures inside them |
| Video (MP4, MOV, MKV, WebM) and audio (MP3, M4A, OGG, Opus) | re-encoded at a lower bitrate, video capped at 1080p |
Strength under •••: Light (barely visible), Balanced (default) or Strong (smallest). If a file is already as small as it gets, FileMorph says so and doesn't make a copy.
A recipe is a conversion you do often, saved: the format, its options, where files go and how
they're named ({name}, {date}, {time}, {n}). Make one from All formats → Save as
recipe…, or with the ★ button in the panel. Then:
- On the orb: drop files and the recipe is the first chip (★JPG). Hover it to see which one.
- In Explorer: right-click files → FileMorph recipes → pick one.
- Watch a folder: point a recipe at a folder (Downloads, a scanner's output, a phone import folder) and new files are converted as they arrive, with one notification per batch. Files already in the folder are left alone, half-downloaded files are waited for, nothing is converted twice, and FileMorph never re-converts its own output. Files that arrive while FileMorph is closed are done the next time it starts. Pause watching folders is in the tray menu.
Drop a logo, sketch, signature, scan, photo or PDF and pick TRACE. FileMorph turns it into a black-and-white SVG of clean, smooth shapes and drops the white completely, so the result has a transparent background. It's ready for vinyl cutters, laser engraving, stencils, embroidery software and print.
- Detail: Bold for chunky, simple shapes · Balanced · Fine to keep small details
- Darkness: Lighter · Auto · Darker, for when the automatic cut-off takes too much or too little
- Light-on-dark designs (a white logo on black) are flipped automatically, so the design is what gets traced
- Every page of a PDF is traced to its own SVG at the page's real size
- Line art and logos give the cleanest results; photos become a stylised, drawn-looking version
Click the orb to open the panel: your recent conversions (click one to show it in its folder), All formats with options like quality, resolution, page size and SVG detail, and Updates.
| Family | Formats | Highlights |
|---|---|---|
| → DOCX, XLSX, CSV, PPTX, TXT, HTML, PNG, JPG, WebP, TIFF, SVG (+ ODT, RTF, EPUB, MD) | Tables extracted to Excel with numbers kept as numbers · editable Word layout · one image per page · multi-page TIFF | |
| Documents | DOCX, DOC*, ODT, RTF, TXT, MD, HTML, EPUB ↔ each other, → PDF, → images | Built-in PDF engine works without Office; uses Word or LibreOffice when installed for exact layout |
| Spreadsheets | XLSX, XLS*, ODS, CSV, TSV, JSON ↔ each other, → PDF, HTML | Every sheet kept · ZIP codes and IDs stay intact · wide tables print landscape |
| Presentations | PPTX, PPT*, ODP* ↔ each other, → PDF*, → PNG/JPG per slide*, → TXT | |
| Images | PNG, JPG, WebP, AVIF, GIF, TIFF, BMP, ICO, SVG, HEIC (in) | Photo → true vector SVG (3 detail levels) · TRACE → black & white SVG, white removed · animated GIF/WebP kept · multi-size ICO |
| Audio | MP3, WAV, M4A/AAC, FLAC, OGG, Opus · WMA, AIFF (in) | |
| Video | MP4, MOV, MKV, WebM, AVI · WMV (in) | → GIF (palette-optimised) · → audio track |
* Needs Microsoft Office or the free LibreOffice installed. FileMorph finds either one automatically and tells you when a file needs it.
FileMorph plans multi-step routes on its own (.doc → PDF → JPG, HEIC → SVG) and hides
conversions that make no sense, so every format you're offered is one that works.
- Get
FileMorph-win-Setup.exefrom this repository's Releases section (about 250 MB — every conversion engine is built in, so nothing else is needed). - Run it. FileMorph installs for your user account in a few seconds — no admin rights needed — and the orb appears.
- Drop a file on it.
Requirements: Windows 10 or 11, 64-bit. Microsoft Office or LibreOffice only for .doc, .xls, .ppt and .odp files.
Uninstall: Settings → Apps → Installed apps → FileMorph → Uninstall. The right-click menu entries are removed too.
| Right-click a file | Convert with FileMorph (on Windows 11, under Show more options) or Send to → FileMorph |
| Convert many files | Drop several files or a whole folder. Only formats every file can become are offered. |
| Read a scan | Drop a scanned PDF → OCR for a searchable PDF, or DOCX / XLSX for editable text |
| Make it smaller | Drop a file → SHRINK. Strength is under ••• |
| Repeat a conversion | All formats → Save as recipe…. Then it's a ★ chip, a right-click entry, or a watched folder |
| Make one PDF | Drop a mix of files → ••• → PDF → turn on Combine into one PDF |
| Trace to black & white | Drop an image or PDF → TRACE. Adjust Detail and Darkness under ••• |
| Cancel | Click the orb or press Esc while it's converting |
| Keyboard | In the format row: ← → to move, Enter to convert, Esc to close |
| Choose where files go | Panel → turn off Save next to original → pick a folder |
| Move or restyle the orb | Drag it anywhere · right-click it for colorways (Prism, Citrus, Frost), Orb size (Standard, Compact, Mini), Keep on top and Quit |
| Hide it | Right-click the orb → Hide to tray. Click the tray icon to bring it back. Explorer's right-click menu and watch folders keep working while it's hidden |
FileMorph converts everything locally with engines bundled inside the app. It doesn't upload files, collect analytics or phone home. The only time it goes online is when you click Check for updates, which reads this repository's public release list on GitHub. Documents can't make it download web images or pull in other files from your PC either.
Open the panel → ⋯ → Check for updates (or right-click the orb). If there's a new version you'll see what's new and the download size; nothing is installed until you click Update & restart. FileMorph swaps in the new version, relaunches and shows "Updated to x.y.z". Updates are usually small, because only what changed is downloaded.
See CHANGELOG.md for every release.
Where did my converted file go?
Next to the original file, unless you picked a folder in the panel. The orb's message says "saved to <folder>" whenever it's somewhere else — for example, if the original folder is read-only, FileMorph saves to Downloads\FileMorph instead of failing. Click the orb after a conversion to open the file, or click it in Recent to show it in its folder.
It says a file needs Microsoft Office or LibreOffice.
Old binary formats (.doc, .xls, .ppt) and OpenDocument slides (.odp) need one of them to
read. Install the free LibreOffice, then restart FileMorph
(right-click the orb → Quit FileMorph, then open it again). Modern formats (.docx, .xlsx, .pptx, PDF) don't need either.
A password-protected file won't convert.
That's expected: FileMorph never asks for or stores passwords. Remove the password in the app that made the file, then convert it.
"Check for updates" shows an error.
Make sure you're online and try again. The full error is saved in
%LOCALAPPDATA%\FileMorph\logs\updates.log — include it if you open an issue.
Copies run from source (not installed with Setup.exe) can't update themselves.
Something went wrong — how do I report it?
Open an issue with the file type you
converted, the format you picked and the message FileMorph showed. Crash details are in
%LOCALAPPDATA%\FileMorph\logs.
Run from source
Python 3.12 or 3.13 recommended.
pip install -r requirements.txt
python -m filemorph # the floating orb
python -m filemorph --classic # the original single-window UITests
python tests/make_samples.py tests/_samples
python tests/run_matrix.py tests/_samples tests/_out --jobs 4 # every sample → every offered format, outputs validated
python tests/test_features.py # OCR quality, SHRINK, recipes, watch folders
python tests/node_screens.py tests/_samples _shots # drives the real UI end to end and screenshots each state
python tests/update_flow.py _updates # every update screen against a simulated release feed
python -m filemorph --selftest selftest.json # what CI runs against the packaged .exeBuild an installer and release
FileMorph is packaged with PyInstaller and installed/updated with Velopack.
Local build (Windows, needs the .NET 8 SDK for Velopack's vpk):
powershell -ExecutionPolicy Bypass -File packaging\build.ps1 # → Releases\FileMorph-win-Setup.exe
powershell -ExecutionPolicy Bypass -File packaging\build.ps1 -Publish # also uploads a GitHub Release (needs $env:GITHUB_TOKEN)Shipping a new version (CI does the rest):
- Bump
__version__infilemorph/__init__.py. - Add a
## <version>section toCHANGELOG.md— it's the What's new text users see. CI refuses to release without it. - Commit, then
git tag vX.Y.Zandgit push origin vX.Y.Z. - GitHub Actions runs the full test matrix, builds the app, self-tests the packaged
.exe, and publishes a release withFileMorph-win-Setup.exeplus the update packages installed copies download.
UPDATE_URL in filemorph/__init__.py must point at a public repo — installed copies read its releases without a token.
Project layout
filemorph/
app.py entry point · single instance · Explorer hand-off · --selftest
core/
formats.py every format, extension + magic-byte detection
registry.py conversion graph and route planning
engine.py runs a route in a temp folder, publishes results safely, merge-to-PDF
proc.py runs bundled tools: no console windows, cancel, timeouts, cleanup
updater.py user-initiated updates (Velopack)
shell.py right-click menu, Send to, Open with
converters/ images · tracing · trace_bw (TRACE) · pdf · documents · sheets · media · office
ui/node/ the orb (node.py), panel (panel.py), controller.py, motion.py (springs)
ui/ conversion worker, classic window
packaging/ PyInstaller spec, build.ps1, release-notes / icon / version-info generators
tests/ sample generator, conversion matrix, UI and update-flow drivers
marketing/ how-to film (howto/), README image renderer
docs/media/ images and video used on this page
PySide6 · PyMuPDF · pdf2docx · pdfplumber · Pandoc · pandas + openpyxl · Pillow + pillow-heif · vtracer · OpenCV · RapidOCR (PP-OCR models) + ONNX Runtime · FFmpeg · Velopack · Geist font
FileMorph is free software: you can redistribute it and/or modify it under the terms of the
GNU Affero General Public License v3.0. It comes with no warranty. The complete
source code for every release is in this repository, and each release's source is tagged
(for example v0.4.0).
Copyright © 2026 Juiced Systems
Third-party components keep their own licenses — for example PyMuPDF is AGPL-3.0, Pandoc and the bundled FFmpeg build are GPL, PySide6 is LGPL, RapidOCR and its PaddleOCR models are Apache-2.0, ONNX Runtime is MIT and Geist is SIL OFL.
Made by Juiced Systems



