Best Free Document Converter
Convert documents between DOCX, PDF, ODT, TXT and HTML with LibreOffice — free, no signup.
How it works
- Upload. Choose a document — DOCX, ODT, TXT and more (up to 100 MB).
- Pick a format. Select the output: PDF, DOCX, ODT, TXT or HTML.
- Download. The converted document downloads automatically; nothing is stored.
About this tool
Document Converter changes office documents between formats using LibreOffice on the server: turn a DOCX into a PDF, convert an ODT to Word, or export to plain text or HTML. It preserves the layout, fonts and styles as faithfully as LibreOffice can, which handles the vast majority of everyday documents well. Each conversion runs under a size cap and a hard time limit in an isolated workspace. No watermark, no signup, and your document is deleted the moment the converted file is ready.
What people use it for
- Turn a Word document into a PDF for sharing
- Convert an ODT to DOCX for a colleague
- Export a document to clean plain text or HTML
- Open an unfamiliar document format in something common
Developer API
Automate this tool from your own code. Send a POST request to the endpoint below and get the same result the web tool produces. It is rate-limited per IP and needs no signup — API keys for higher limits are coming.
https://best.free/api/tools/document-converter/
| Parameter | Example | Required | Notes |
|---|---|---|---|
file (file) |
document.docx |
Yes | Office/text document, ≤25 MB. |
format |
pdf |
No | pdf / docx / odt / pptx / xlsx / txt / html. |
curl -X POST https://best.free/api/tools/document-converter/ \
-F 'file=@document.docx' \
-F 'format=pdf' \
-o document.pdf
import requests
files = {"file": open("document.docx", "rb")}
data = {"format": "pdf"}
r = requests.post("https://best.free/api/tools/document-converter/", files=files, data=data)
with open("document.pdf", "wb") as out:
out.write(r.content)
const fd = new FormData();
fd.append("file", fileInput.files[0]);
fd.append("format", "pdf");
const r = await fetch("https://best.free/api/tools/document-converter/", { method: "POST", body: fd });
const blob = await r.blob(); // the document.pdf
Response: The converted document.