openconvert

Everything it does.

260 conversions, 16 tools, optional AI models; all of it on your machine, and every job accounted for.

Can it do what you need?

Pick your starting filetype. Everything it can become is on the right.

1 · I have a

Images

Documents

Audio

Video

Archives

Data

2 · and I want a

  • JPEG lossy
  • WEBP lossy
  • GIF lossy
  • BMP lossy
  • TIFF lossy
  • AVIF lossy · needs oc-images
  • PDF lossy
  • TXT generated · needs paddleocr

8 routes from PNG. Anything not listed here, the binary refuses rather than guesses.

  • PNG lossy
  • WEBP lossy
  • GIF lossy
  • BMP lossy
  • TIFF lossy
  • AVIF lossy · needs oc-images
  • PDF lossy
  • TXT generated · needs paddleocr

8 routes from JPEG. Anything not listed here, the binary refuses rather than guesses.

  • PNG lossy
  • JPEG lossy
  • GIF lossy
  • BMP lossy
  • TIFF lossy
  • AVIF lossy · needs oc-images
  • PDF lossy
  • TXT generated · needs paddleocr

8 routes from WEBP. Anything not listed here, the binary refuses rather than guesses.

  • PNG lossy
  • JPEG lossy
  • WEBP lossy
  • BMP lossy
  • TIFF lossy
  • AVIF lossy · needs oc-images
  • PDF lossy
  • TXT generated · needs paddleocr

8 routes from GIF. Anything not listed here, the binary refuses rather than guesses.

  • PNG lossless
  • JPEG lossy
  • WEBP lossy
  • GIF lossy
  • TIFF lossy
  • AVIF lossy · needs oc-images
  • PDF lossy
  • TXT generated · needs paddleocr

8 routes from BMP. Anything not listed here, the binary refuses rather than guesses.

  • PNG lossy
  • JPEG lossy
  • WEBP lossy
  • GIF lossy
  • BMP lossy
  • AVIF lossy · needs oc-images
  • PDF lossy
  • TXT generated · needs paddleocr

8 routes from TIFF. Anything not listed here, the binary refuses rather than guesses.

  • PNG lossy · needs oc-images
  • JPEG lossy · needs oc-images
  • WEBP lossy · needs oc-images
  • GIF lossy · needs oc-images
  • BMP lossy · needs oc-images
  • TIFF lossy · needs oc-images
  • AVIF lossy · needs oc-images

7 routes from HEIC. Anything not listed here, the binary refuses rather than guesses.

  • PNG lossy · needs oc-images
  • JPEG lossy · needs oc-images
  • WEBP lossy · needs oc-images
  • GIF lossy · needs oc-images
  • BMP lossy · needs oc-images
  • TIFF lossy · needs oc-images

6 routes from AVIF. Anything not listed here, the binary refuses rather than guesses.

  • PNG lossy · needs oc-images
  • JPEG lossy · needs oc-images
  • WEBP lossy · needs oc-images
  • GIF lossy · needs oc-images
  • BMP lossy · needs oc-images
  • TIFF lossy · needs oc-images
  • AVIF lossy · needs oc-images

7 routes from JXL. Anything not listed here, the binary refuses rather than guesses.

  • PNG lossy · needs oc-images
  • JPEG lossy · needs oc-images
  • WEBP lossy · needs oc-images
  • GIF lossy · needs oc-images
  • BMP lossy · needs oc-images
  • TIFF lossy · needs oc-images
  • AVIF lossy · needs oc-images

7 routes from SVG. Anything not listed here, the binary refuses rather than guesses.

  • FLAC lossless · needs oc-audio
  • MP3 lossy · needs libmp3lame
  • OGG lossy · needs libopus
  • TXT generated · needs whisper

4 routes from WAV. Anything not listed here, the binary refuses rather than guesses.

  • WAV lossless · needs oc-audio
  • MP3 lossy · needs libmp3lame
  • OGG lossy · needs libopus
  • TXT generated · needs whisper

4 routes from FLAC. Anything not listed here, the binary refuses rather than guesses.

  • WAV lossy · needs oc-audio
  • FLAC lossy · needs oc-audio
  • OGG lossy · needs libopus
  • TXT generated · needs whisper

4 routes from MP3. Anything not listed here, the binary refuses rather than guesses.

  • WAV lossy · needs oc-audio
  • FLAC lossy · needs oc-audio
  • MP3 lossy · needs libmp3lame
  • TXT generated · needs whisper

4 routes from OGG. Anything not listed here, the binary refuses rather than guesses.

  • WAV lossy · needs oc-audio
  • FLAC lossy · needs oc-audio
  • MP3 lossy · needs libmp3lame
  • OGG lossy · needs libopus
  • TXT generated · needs whisper

5 routes from M4A. Anything not listed here, the binary refuses rather than guesses.

  • WAV lossy · needs oc-audio
  • FLAC lossy · needs oc-audio
  • MP3 lossy · needs libmp3lame
  • OGG lossy · needs libopus
  • MKV lossless · needs codecs are compatible with the destination container
  • WEBM lossless · needs codecs are compatible with the destination container
  • MKA lossless · needs the audio codec is compatible with the destination container
  • TXT generated · needs whisper

8 routes from MP4. Anything not listed here, the binary refuses rather than guesses.

  • WAV lossy · needs oc-audio
  • FLAC lossy · needs oc-audio
  • MP3 lossy · needs libmp3lame
  • OGG lossy · needs libopus
  • MP4 lossless · needs codecs are compatible with the destination container
  • MKV lossless · needs codecs are compatible with the destination container
  • WEBM lossless · needs codecs are compatible with the destination container
  • MKA lossless · needs the audio codec is compatible with the destination container

8 routes from MOV. Anything not listed here, the binary refuses rather than guesses.

  • MP4 lossless · needs codecs are compatible with the destination container
  • MKV lossless · needs codecs are compatible with the destination container
  • WEBM lossless · needs codecs are compatible with the destination container
  • MKA lossless · needs the audio codec is compatible with the destination container

4 routes from AVI. Anything not listed here, the binary refuses rather than guesses.

  • WAV lossy · needs oc-audio
  • FLAC lossy · needs oc-audio
  • MP3 lossy · needs libmp3lame
  • OGG lossy · needs libopus
  • MP4 lossless · needs codecs are compatible with the destination container
  • WEBM lossless · needs codecs are compatible with the destination container
  • MKA lossless · needs the audio codec is compatible with the destination container
  • TXT generated · needs whisper

8 routes from MKV. Anything not listed here, the binary refuses rather than guesses.

  • WAV lossy · needs oc-audio
  • FLAC lossy · needs oc-audio
  • MP3 lossy · needs libmp3lame
  • OGG lossy · needs libopus
  • MP4 lossless · needs codecs are compatible with the destination container
  • MKV lossless
  • MKA lossless · needs the audio codec is compatible with the destination container
  • TXT generated · needs whisper

8 routes from WEBM. Anything not listed here, the binary refuses rather than guesses.

  • PNG lossy · needs oc-pdf
  • JPEG lossy · needs oc-pdf
  • WEBP lossy · needs oc-images
  • GIF lossy · needs oc-images
  • BMP lossy · needs oc-images
  • TIFF lossy · needs oc-images
  • AVIF lossy · needs oc-images
  • DOCX rebuilt · needs oc-pdf
  • ODT rebuilt · needs oc-pdf
  • TXT lossy · needs oc-pdf
  • MARKDOWN lossy · needs oc-pdf
  • HTML lossy · needs oc-pdf

12 routes from PDF. Anything not listed here, the binary refuses rather than guesses.

  • PNG rebuilt · needs oc-pdf
  • JPEG rebuilt · needs oc-pdf
  • WEBP rebuilt · needs oc-images
  • GIF rebuilt · needs oc-images
  • BMP rebuilt · needs oc-images
  • TIFF rebuilt · needs oc-images
  • AVIF rebuilt · needs oc-images
  • PDF rebuilt · needs oc-pdf
  • ODT lossy · needs oc-pdf
  • TXT lossy · needs oc-pdf
  • MARKDOWN lossy · needs oc-pdf
  • HTML lossy · needs oc-pdf

12 routes from DOCX. Anything not listed here, the binary refuses rather than guesses.

  • PNG rebuilt · needs oc-pdf
  • JPEG rebuilt · needs oc-pdf
  • PDF rebuilt · needs oc-pdf
  • DOCX lossy · needs oc-pdf
  • TXT lossy · needs oc-pdf
  • MARKDOWN lossy · needs oc-pdf
  • HTML lossy · needs oc-pdf

7 routes from ODT. Anything not listed here, the binary refuses rather than guesses.

  • PDF rebuilt · needs oc-pdf
  • DOCX rebuilt · needs oc-pdf
  • ODT rebuilt · needs oc-pdf
  • TXT rebuilt · needs oc-pdf
  • MARKDOWN rebuilt · needs oc-pdf
  • HTML rebuilt · needs oc-pdf

6 routes from PPTX. Anything not listed here, the binary refuses rather than guesses.

  • PDF rebuilt · needs oc-pdf
  • DOCX rebuilt · needs oc-pdf
  • ODT rebuilt · needs oc-pdf
  • TXT rebuilt · needs oc-pdf
  • MARKDOWN rebuilt · needs oc-pdf
  • HTML rebuilt · needs oc-pdf

6 routes from ODP. Anything not listed here, the binary refuses rather than guesses.

  • PDF rebuilt · needs oc-pdf
  • DOCX rebuilt · needs oc-pdf
  • ODT rebuilt · needs oc-pdf
  • TXT rebuilt · needs oc-pdf
  • MARKDOWN rebuilt · needs oc-pdf
  • HTML rebuilt · needs oc-pdf

6 routes from EPUB. Anything not listed here, the binary refuses rather than guesses.

  • CSV rebuilt · needs oc-pdf
  • JSON rebuilt · needs oc-pdf

2 routes from XLSX. Anything not listed here, the binary refuses rather than guesses.

  • XLSX rebuilt · needs oc-pdf
  • CSV rebuilt · needs oc-pdf
  • JSON rebuilt · needs oc-pdf

3 routes from ODS. Anything not listed here, the binary refuses rather than guesses.

  • SVG rebuilt · needs oc-pdf
  • PDF rebuilt · needs oc-pdf

2 routes from DXF. Anything not listed here, the binary refuses rather than guesses.

  • WOFF lossless · needs oc-archive
  • WOFF2 lossless · needs oc-archive

2 routes from TTF. Anything not listed here, the binary refuses rather than guesses.

  • WOFF lossless · needs oc-archive
  • WOFF2 lossless · needs oc-archive

2 routes from OTF. Anything not listed here, the binary refuses rather than guesses.

  • TTF lossless · needs oc-archive
  • OTF lossless · needs oc-archive
  • WOFF2 lossless · needs oc-archive

3 routes from WOFF. Anything not listed here, the binary refuses rather than guesses.

  • TAR lossless · needs oc-archive
  • GZIP lossless · needs oc-archive

2 routes from ZIP. Anything not listed here, the binary refuses rather than guesses.

  • ZIP lossless · needs oc-archive
  • GZIP lossless · needs oc-archive

2 routes from TAR. Anything not listed here, the binary refuses rather than guesses.

  • ZIP lossless · needs oc-archive
  • TAR lossless · needs oc-archive

2 routes from GZIP. Anything not listed here, the binary refuses rather than guesses.

  • ZIP lossy · needs oc-archive
  • TAR lossy · needs oc-archive
  • GZIP lossy · needs oc-archive

3 routes from 7Z. Anything not listed here, the binary refuses rather than guesses.

  • PNG lossy · needs oc-images
  • JPEG lossy · needs oc-images
  • WEBP lossy · needs oc-images
  • GIF lossy · needs oc-images
  • BMP lossy · needs oc-images
  • TIFF lossy · needs oc-images
  • AVIF lossy · needs oc-images

7 routes from CR3. Anything not listed here, the binary refuses rather than guesses.

  • PNG lossy · needs oc-images
  • JPEG lossy · needs oc-images
  • WEBP lossy · needs oc-images
  • GIF lossy · needs oc-images
  • BMP lossy · needs oc-images
  • TIFF lossy · needs oc-images
  • AVIF lossy · needs oc-images

7 routes from CR2. Anything not listed here, the binary refuses rather than guesses.

  • PNG lossy · needs oc-images
  • JPEG lossy · needs oc-images
  • WEBP lossy · needs oc-images
  • GIF lossy · needs oc-images
  • BMP lossy · needs oc-images
  • TIFF lossy · needs oc-images
  • AVIF lossy · needs oc-images

7 routes from NEF. Anything not listed here, the binary refuses rather than guesses.

  • PNG lossy · needs oc-images
  • JPEG lossy · needs oc-images
  • WEBP lossy · needs oc-images
  • GIF lossy · needs oc-images
  • BMP lossy · needs oc-images
  • TIFF lossy · needs oc-images
  • AVIF lossy · needs oc-images

7 routes from ARW. Anything not listed here, the binary refuses rather than guesses.

  • PNG lossy · needs oc-images
  • JPEG lossy · needs oc-images
  • WEBP lossy · needs oc-images
  • GIF lossy · needs oc-images
  • BMP lossy · needs oc-images
  • TIFF lossy · needs oc-images
  • AVIF lossy · needs oc-images

7 routes from DNG. Anything not listed here, the binary refuses rather than guesses.

  • JSON lossless

1 route from CSV. Anything not listed here, the binary refuses rather than guesses.

  • CSV lossy

1 route from JSON. Anything not listed here, the binary refuses rather than guesses.

  • PNG rebuilt · needs oc-pdf
  • PDF rebuilt · needs oc-pdf
  • DOCX rebuilt · needs oc-pdf
  • ODT rebuilt · needs oc-pdf
  • TXT rebuilt · needs oc-pdf
  • MARKDOWN rebuilt · needs oc-pdf
  • HTML rebuilt · needs oc-pdf

7 routes from NOTEBOOK. Anything not listed here, the binary refuses rather than guesses.

  • PNG rebuilt · needs oc-pdf
  • JPEG rebuilt · needs oc-pdf
  • PDF rebuilt · needs oc-pdf
  • DOCX lossy · needs oc-pdf
  • ODT lossy · needs oc-pdf
  • MARKDOWN lossy · needs oc-pdf
  • HTML lossy · needs oc-pdf

7 routes from TXT. Anything not listed here, the binary refuses rather than guesses.

  • PDF rebuilt · needs oc-pdf
  • DOCX rebuilt · needs oc-pdf
  • ODT rebuilt · needs oc-pdf
  • TXT rebuilt · needs oc-pdf
  • MARKDOWN rebuilt · needs oc-pdf

5 routes from HTML. Anything not listed here, the binary refuses rather than guesses.

The tools we built in.

OpenConvert is more than a converter. It is meant to replace every web search you have ever run about your own files.

  • Remove background: on-device matting, nothing uploaded, different AI models available
  • Upscale x2 or x4 without the usual blur using a local AI model
  • Invert colours, black and white
  • Compress to the quality you pick, without changing the format
  • Read the text out of a screenshot or a scan
  • Colour picker, sampled from the image itself
  • Convert between HEIC, JPEG, PNG, WebP, AVIF, TIFF, JPEG XL, SVG and camera raw
  • Merge documents into one file while keeping hyperlinks, or split one into many
  • Keep, drop, reorder, rotate or crop pages
  • Add a password, or remove one you know
  • Compress without touching a single image
  • Sign, with the signature kept on your machine
  • Render any page to an image
  • Read a scan into searchable text
  • PDF to Markdown, HTML, DOCX or ODT
  • Transcribe speech into text you can search
  • Remove background noise from a recording
  • Convert between FLAC, WAV, MP3, OGG and M4A
  • Pull the audio out of a video without re-encoding it
The OpenConvert image workspace with a subject cut out of its background onto transparency. The OpenConvert image workspace with a subject cut out of its background onto transparency.
The same workspace enlarging an image four times on device. The same workspace enlarging an image four times on device.
The colour picker sampling a value straight out of the image. The colour picker sampling a value straight out of the image.
Two PDFs loaded in OpenConvert, ready to merge into one file. Two PDFs loaded in OpenConvert, ready to merge into one file.
A document’s pages listed so they can be moved or dropped before the file is written. A document’s pages listed so they can be moved or dropped before the file is written.
A recording and the transcript OpenConvert produced from it locally. A recording and the transcript OpenConvert produced from it locally.
The same recording with its background noise removed on this machine. The same recording with its background noise removed on this machine.

The Local AI Models.

Optional, off until you download them, and each one shows its size and its licence before it is fetched.

Remove Background 3 options
Image Enlarge 1 option
  • realesrgan-x4 64 MB

    Quadruples an image's size without the usual blur.

    realesrgan-x4 x4plus — BSD-3-Clause

Audio Transcription 2 options
Audio Denoising 1 option
The OpenConvert first-run panel offering four optional models, none installed. The OpenConvert first-run panel offering four optional models, none installed.

Nothing is installed until this is answered, and the download is the only moment anything is fetched. Every model's licence →

The $ you save.

Background removal and file conversion are metered almost everywhere else. With OpenConvert they are free, for good.

Files a month

What you'd pay per file elsewhere

A cloud tool, per year $48
OpenConvert, per year $0
A cloud tool, per year $120
OpenConvert, per year $0
A cloud tool, per year $240
OpenConvert, per year $0
A cloud tool, per year $480
OpenConvert, per year $0
A cloud tool, per year $240
OpenConvert, per year $0
A cloud tool, per year $600
OpenConvert, per year $0
A cloud tool, per year $1.2k
OpenConvert, per year $0
A cloud tool, per year $2.4k
OpenConvert, per year $0
A cloud tool, per year $1.2k
OpenConvert, per year $0
A cloud tool, per year $3k
OpenConvert, per year $0
A cloud tool, per year $6k
OpenConvert, per year $0
A cloud tool, per year $12k
OpenConvert, per year $0
A cloud tool, per year $2.4k
OpenConvert, per year $0
A cloud tool, per year $6k
OpenConvert, per year $0
A cloud tool, per year $12k
OpenConvert, per year $0
A cloud tool, per year $24k
OpenConvert, per year $0
receipts

Every job leaves a note.

Beside every output is a small file saying what happened to yours. On for every conversion, and switchable off in settings.

What ran
The engine and its exact version: oc-images, libheif 1.17.6
What it did to the file
Lossless, lossy, rebuilt or generated.
What it was allowed to do
The sandbox that actually engaged, and the memory and time limits
What it read
A hash of the exact bytes, so the input can be identified later
What it sent
The number of network calls. It is zero.

How the confinement it records actually works →

A receipt expanded in OpenConvert, listing engine, class, limits, hashes and network calls. A receipt expanded in OpenConvert, listing engine, class, limits, hashes and network calls.
Example receipt JSON
openconvert convert bundle.zip -t tar --json captured on win32 x64
{
  "version": 1,
  "tool": "openconvert 0.1.1",
  "content_id": "845c65d1e47b19221591a3356f5e059c0e4e8dbf555344154e3537bb75c2e948",
  "detected": "zip",
  "declared_mismatch": null,
  "steps": [
    {
      "kind": "Extract { from: Zip, to: Tar }",
      "class": "A (lossless)",
      "engine": "oc-archive",
      "isolation": "sandboxed (read back in the worker): engaged ACG, AppContainer; not engaged CIG",
      "limits": {
        "memory_bytes": 1073741824,
        "decode_pixels": 268435456,
        "wall_time_secs": 120
      },
      "removed": [
        "zip member timestamps and permission bits"
      ]
    }
  ],
  "class": "A",
  "output": "bundle.tar",
  "output_bytes": 3072
}