DocsPDF Tools

PDF Tools API

Endpoints for merging, splitting, compressing, converting, protecting, and manipulating PDF files. All endpoints accept multipart/form-data and return the processed file as a binary download.

PDF Merge

POST/api/pdf-merge

Merge multiple PDF files into a single PDF document. Files are merged in the order they are uploaded.

Parameters

NameTypeRequiredDescription
filesFile[]RequiredMultiple PDF files to merge
Response:Merged PDF file
bash
curl -X POST https://freefiletools.io/api/pdf-merge \
  -H "x-api-key: fft_your_api_key" \
  -F "[email protected]" \
  -F "[email protected]" \
  -F "[email protected]" \
  -o merged.pdf

PDF Split

POST/api/pdf-split

Split a PDF file into multiple parts based on page ranges. Returns a ZIP file containing the split PDFs.

Parameters

NameTypeRequiredDescription
fileFileRequiredPDF file to split
rangesstringRequiredPage ranges, e.g. "1-3,5,7-9". Each range becomes a separate PDF.
Response:ZIP file containing split PDFs
bash
curl -X POST https://freefiletools.io/api/pdf-split \
  -H "x-api-key: fft_your_api_key" \
  -F "[email protected]" \
  -F "ranges=1-3,5,7-9" \
  -o split-pages.zip

PDF Compress

POST/api/pdf-compress

Compress a PDF file to reduce its size. Uses Ghostscript for high-quality compression.

Parameters

NameTypeRequiredDescription
fileFileRequiredPDF file to compress
levelstringOptionalCompression level: "low", "medium", or "high". Default: "medium"
Response:Compressed PDF file
bash
curl -X POST https://freefiletools.io/api/pdf-compress \
  -H "x-api-key: fft_your_api_key" \
  -F "[email protected]" \
  -F "level=high" \
  -o compressed.pdf

PDF to Word

POST/api/pdf-to-word

Convert a PDF file to a Microsoft Word (.docx) document.

Parameters

NameTypeRequiredDescription
fileFileRequiredPDF file to convert
Response:DOCX file
bash
curl -X POST https://freefiletools.io/api/pdf-to-word \
  -H "x-api-key: fft_your_api_key" \
  -F "[email protected]" \
  -o document.docx

PDF to Image

POST/api/pdf-to-image

Convert PDF pages to images. Returns a ZIP file containing one image per page.

Parameters

NameTypeRequiredDescription
fileFileRequiredPDF file to convert
formatstringOptionalImage format: "png", "jpg", or "webp". Default: "png"
dpinumberOptionalResolution in DPI. Default: 150
Response:ZIP file containing images
bash
curl -X POST https://freefiletools.io/api/pdf-to-image \
  -H "x-api-key: fft_your_api_key" \
  -F "[email protected]" \
  -F "format=png" \
  -F "dpi=300" \
  -o pages.zip

PDF to Excel

POST/api/pdf-to-excel

Convert a PDF file to a Microsoft Excel (.xlsx) spreadsheet. Works best with PDFs containing tabular data.

Parameters

NameTypeRequiredDescription
fileFileRequiredPDF file to convert
Response:XLSX file
bash
curl -X POST https://freefiletools.io/api/pdf-to-excel \
  -H "x-api-key: fft_your_api_key" \
  -F "[email protected]" \
  -o document.xlsx

PDF to PowerPoint

POST/api/pdf-to-ppt

Convert a PDF file to a Microsoft PowerPoint (.pptx) presentation.

Parameters

NameTypeRequiredDescription
fileFileRequiredPDF file to convert
Response:PPTX file
bash
curl -X POST https://freefiletools.io/api/pdf-to-ppt \
  -H "x-api-key: fft_your_api_key" \
  -F "[email protected]" \
  -o presentation.pptx

Word to PDF

POST/api/word-to-pdf

Convert a Microsoft Word (.docx) document to PDF.

Parameters

NameTypeRequiredDescription
fileFileRequired.docx file to convert
Response:PDF file
bash
curl -X POST https://freefiletools.io/api/word-to-pdf \
  -H "x-api-key: fft_your_api_key" \
  -F "[email protected]" \
  -o document.pdf

PowerPoint to PDF

POST/api/ppt-to-pdf

Convert a Microsoft PowerPoint (.pptx) presentation to PDF.

Parameters

NameTypeRequiredDescription
fileFileRequired.pptx file to convert
Response:PDF file
bash
curl -X POST https://freefiletools.io/api/ppt-to-pdf \
  -H "x-api-key: fft_your_api_key" \
  -F "[email protected]" \
  -o presentation.pdf

Excel to PDF

POST/api/excel-to-pdf

Convert a Microsoft Excel (.xlsx) spreadsheet to PDF.

Parameters

NameTypeRequiredDescription
fileFileRequired.xlsx file to convert
Response:PDF file
bash
curl -X POST https://freefiletools.io/api/excel-to-pdf \
  -H "x-api-key: fft_your_api_key" \
  -F "[email protected]" \
  -o spreadsheet.pdf

Protect PDF

POST/api/protect-pdf

Password-protect a PDF file. The resulting PDF will require a password to open.

Parameters

NameTypeRequiredDescription
fileFileRequiredPDF file to protect
passwordstringRequiredPassword to set on the PDF
Response:Password-protected PDF file
bash
curl -X POST https://freefiletools.io/api/protect-pdf \
  -H "x-api-key: fft_your_api_key" \
  -F "[email protected]" \
  -F "password=mysecretpassword" \
  -o protected.pdf

Unlock PDF

POST/api/unlock-pdf

Remove password protection from a PDF file. Requires the current password.

Parameters

NameTypeRequiredDescription
fileFileRequiredPassword-protected PDF file
passwordstringRequiredCurrent password of the PDF
Response:Unlocked PDF file
bash
curl -X POST https://freefiletools.io/api/unlock-pdf \
  -H "x-api-key: fft_your_api_key" \
  -F "[email protected]" \
  -F "password=mysecretpassword" \
  -o unlocked.pdf

Rotate PDF

POST/api/rotate-pdf

Rotate all pages of a PDF file by a specified angle.

Parameters

NameTypeRequiredDescription
fileFileRequiredPDF file to rotate
anglenumberRequiredRotation angle: 90, 180, or 270 degrees
Response:Rotated PDF file
bash
curl -X POST https://freefiletools.io/api/rotate-pdf \
  -H "x-api-key: fft_your_api_key" \
  -F "[email protected]" \
  -F "angle=90" \
  -o rotated.pdf

Watermark PDF

POST/api/watermark-pdf

Add a text watermark to all pages of a PDF file.

Parameters

NameTypeRequiredDescription
fileFileRequiredPDF file to watermark
textstringRequiredWatermark text to add
Response:Watermarked PDF file
bash
curl -X POST https://freefiletools.io/api/watermark-pdf \
  -H "x-api-key: fft_your_api_key" \
  -F "[email protected]" \
  -F "text=CONFIDENTIAL" \
  -o watermarked.pdf

OCR PDF

POST/api/ocr-pdf

Apply Optical Character Recognition (OCR) to a scanned PDF, making the text selectable and searchable. Uses Tesseract OCR engine.

Parameters

NameTypeRequiredDescription
fileFileRequiredScanned PDF file
languagestringOptionalOCR language: "eng" (English), "tur" (Turkish), "deu" (German), etc. Default: "eng"
Response:Searchable PDF file
bash
curl -X POST https://freefiletools.io/api/ocr-pdf \
  -H "x-api-key: fft_your_api_key" \
  -F "[email protected]" \
  -F "language=eng" \
  -o searchable.pdf

Repair PDF

POST/api/repair-pdf

Attempt to repair a corrupted or damaged PDF file.

Parameters

NameTypeRequiredDescription
fileFileRequiredCorrupted PDF file
Response:Repaired PDF file
bash
curl -X POST https://freefiletools.io/api/repair-pdf \
  -H "x-api-key: fft_your_api_key" \
  -F "[email protected]" \
  -o repaired.pdf

Crop PDF

POST/api/crop-pdf

Crop all pages of a PDF file, removing whitespace or trimming to a specific area.

Parameters

NameTypeRequiredDescription
fileFileRequiredPDF file to crop
Response:Cropped PDF file
bash
curl -X POST https://freefiletools.io/api/crop-pdf \
  -H "x-api-key: fft_your_api_key" \
  -F "[email protected]" \
  -o cropped.pdf

Add Page Numbers

POST/api/page-numbers

Add page numbers to all pages of a PDF file.

Parameters

NameTypeRequiredDescription
fileFileRequiredPDF file
Response:PDF file with page numbers
bash
curl -X POST https://freefiletools.io/api/page-numbers \
  -H "x-api-key: fft_your_api_key" \
  -F "[email protected]" \
  -o numbered.pdf

Image to PDF

POST/api/img-to-pdf

Convert one or more images to a PDF file. Each image becomes one page.

Parameters

NameTypeRequiredDescription
filesFile[]RequiredImage files (JPG, PNG, WebP)
Response:PDF file
bash
curl -X POST https://freefiletools.io/api/img-to-pdf \
  -H "x-api-key: fft_your_api_key" \
  -F "[email protected]" \
  -F "[email protected]" \
  -F "[email protected]" \
  -o images.pdf

PDF to PDF/A

POST/api/pdf-to-pdfa

Convert a PDF file to PDF/A format for long-term archiving. Uses Ghostscript for conversion.

Parameters

NameTypeRequiredDescription
fileFileRequiredPDF file to convert
Response:PDF/A file
bash
curl -X POST https://freefiletools.io/api/pdf-to-pdfa \
  -H "x-api-key: fft_your_api_key" \
  -F "[email protected]" \
  -o document-pdfa.pdf