A self-hosted online file converter. Supports over a thousand different formats. Written with TypeScript, Bun and Elysia.
Converter | Use case | Converts from | Converts to |
---|---|---|---|
libjxl | JPEG XL | 11 | 11 |
resvg | SVG | 1 | 1 |
Vips | Images | 45 | 23 |
libheif | HEIF | 2 | 4 |
XeLaTeX | LaTeX | 1 | 1 |
Calibre | E-books | 26 | 19 |
Pandoc | Documents | 43 | 65 |
dvisvgm | Vector images | 4 | 2 |
ImageMagick | Images | 245 | 183 |
GraphicsMagick | Images | 167 | 130 |
Inkscape | Vector images | 7 | 17 |
Assimp | 3D Assets | 77 | 23 |
FFmpeg | Video | ~472 | ~199 |
Potrace | Raster to vector | 4 | 11 |
VTracer | Raster to vector | 8 | 1 |
Dasel | Data Files | 5 | 4 |
All are optional, JWT_SECRET is recommended to be set.
Name | Default | Description |
---|---|---|
JWT_SECRET | when unset it will use the value from randomUUID() | A long and secret string used to sign the JSON Web Token |
ACCOUNT_REGISTRATION | false | Allow users to register accounts |
HTTP_ALLOWED | false | Allow HTTP connections, only set this to true locally |
ALLOW_UNAUTHENTICATED | false | Allow unauthenticated users to use the service, only set this to true locally |
AUTO_DELETE_EVERY_N_HOURS | 24 | Checks every n hours for files older then n hours and deletes them, set to 0 to disable |
WEBROOT | The address to the root path setting this to "/convert" will serve the website on "example.com/convert/" | |
FFMPEG_ARGS | Arguments to pass to ffmpeg, e.g. -preset veryfast | |
HIDE_HISTORY | false | Hide the history page |
LANGUAGE | en | Language to format date strings in, specified as a BCP 47 language tag |
UNAUTHENTICATED_USER_SHARING | false | Shares conversion history between all unauthenticated users |