Images, video, audio, documents, spreadsheets, ebooks, archives, fonts and 3D
models — dropped in together, converted in one batch, downloaded as one ZIP.
No account, nothing to install.
The REST API runs the same pipeline as the form above. A one-shot task streams
the converted file straight back; a job gives you a DAG, a job id and a webhook.
convert.shsh
# One shot: multipart in, the converted file streams back out.
curl -sS -X POST "$FC_API/tasks/convert" \
-H "Authorization: Bearer $FC_TOKEN" \
-F 'file=@report.docx' \
-F 'output_format=pdf' -o report.pdf
# Add ?output=json to get the task record instead of the bytes.
# A job answers 201 with a Location header and runs after the
# response. ?wait=1 opts in to running it synchronously instead.
curl -sS -i -X POST "$FC_API/jobs?wait=1" \
-H "Authorization: Bearer $FC_TOKEN" \
-H 'Content-Type: application/json' \
-d '{"tasks":{
"in": {"operation":"import/url","url":"https://example.com/in.docx"},
"pdf": {"operation":"convert","input":"in","output_format":"pdf"},
"out": {"operation":"export/url","input":"pdf"}}}'
Pick them, drop them, or paste a URL. Add as many as you like — duplicates are
ignored and anything can be removed before you start.
Choose the output
Convert the whole batch to one format, or give every single file its own
target. Tune quality and format-specific options while you are at it.
Download
Grab the converted files one by one or as a single ZIP. The job and everything
in it is removed by the scheduled purge afterwards.
Built for the whole batch, not one file
The things that start to matter once you have more than a single file to deal with.
Real batch conversion
Queue as many files as you like in one go. Convert the whole batch to a single format, or hand every file its own target — the two modes work side by side in the same job.
Per-format settings
Quality, resolution, bitrate, page range and background colour appear only where they mean something, so you are never asked to pick a JPEG quality for a ZIP file.
Files from anywhere
Drop them in, browse for them, or paste a URL and let the server fetch the file directly. Duplicates are skipped and anything can be removed before you start.
One-click ZIP
Convert forty files and download one archive — or take them individually, since every output stays addressable until the job is cleaned up.
Built on the engines you already trust
No in-house codec guesswork. Every conversion is handed to the tool the industry
already uses for that job.
ImageMagick
Raster and vector images, colour profiles, resizing and page rendering.
ffmpeg
Video and audio: containers, codecs, stream copying and extraction.
pandoc
Documents and markup — Markdown, HTML, LaTeX, DOCX, EPUB and more.
LibreOffice
Office formats: Word, Excel, PowerPoint and their OpenDocument twins.
Ghostscript
PDF rendering, page extraction and PostScript conversion.
Questions, answered
Still stuck? The help centre goes into more detail.
No. The converter on this page works without signing in. An account only exists so you can keep a history of your jobs and hold an API key.
They are uploaded, converted, and then removed by the scheduled purge along with the rest of that job. Nothing is forwarded to a third-party conversion service — every engine runs on this machine.
Uploads are bounded by the server's configured limit, and URL imports are capped separately. Very large video files take the longest, because they have to be decoded and re-encoded frame by frame.
Yes — that is what the form is built around. Add as many files as you want, then either set one target format for the batch or choose a different one per row.
It depends on the pair. Moving between lossless formats changes nothing, and a matching codec is copied rather than re-encoded. Anything ending in a lossy format does re-encode, which is what the quality control is for.
Yes. The same pipeline is exposed over HTTP, so a script, a build step or your own application can convert files without touching this page.