Skip to content
pdfconversionapi

PDF to TIFF API

Send a PDF to POST /v2/convert/pdf/to/tiff and get one TIFF holding every page as its own frame, LZW-compressed. Pages are drawn at 150 DPI unless you set ImageResolution; MultiPage=false returns a file per page instead.

Endpoint
POST /v2/convert/pdf/to/tiff
Accepts
pdf
Sample timing
94 ms median of 5 runsHow we measure
Request size
Up to 10 MB on the Free plan or 100 MB on paid plans, all files together

Request and response

Every sample below ran against the API before this page was published. Set PDFCONVERSIONAPI_KEY to your key and run it as is.

curl -sS -X POST \
  https://api.pdfconversionapi.com/v2/convert/pdf/to/tiff \
  -H "Authorization: Bearer $PDFCONVERSIONAPI_KEY" \
  -F File=@greenhouse-inspection.pdf \
  --form-string ImageResolution=96 \
  -o response.json

# FileData is base64. Save the first file in converted/,
# or print the JSON error.
if jq -e '.Files' response.json > /dev/null; then
  mkdir -p converted
  name=$(jq -r '.Files[0].FileName' response.json)
  jq -r '.Files[0].FileData' response.json \
    | base64 --decode > "converted/$name"
else
  cat response.json
fi
200 OK94 ms median1 file, 389 KB
{
  "ConversionCost": 1,
  "ConversionTime": 0.094,
  "Files": [
    {
      "FileName": "greenhouse-inspection.tiff",
      "FileExt": "tiff",
      "FileSize": 397847,
      "FileData": "SUkqAD/4AwBgAAAAAQAAAGAA…"
    }
  ]
}

Response from our test run on 2026-11-03. ConversionTime shows the median of 5 runs. FileData is shortened here; the real response carries the whole file as base64.

The sample, converted

The same file the code sends. Download the input and the output and compare them yourself.

First page of greenhouse-inspection.tiff, rendered by the API
Input
greenhouse-inspection.pdf (115 KB)
Output
greenhouse-inspection.tiff (389 KB)
Source
A three-page greenhouse inspection report for a fictional nursery, with form fields, comments and attached files, made by us for this site. (CC0-1.0). How it was made
Made by
2026-11-04, API build 9eeeb0640aba

Parameters

Send these as form fields next to the file. Names are case-insensitive. If you set one of the documented options below that we don't support yet, the request fails with a 400 that names it instead of returning a file made without it.

ParameterWhat it does
MultiPageboolean, default truetrue puts all pages in one TIFF named after the PDF (greenhouse-inspection.tiff, 3 frames). false returns greenhouse-inspection-1.tiff and so on, written without compression: 6,311,516 bytes per Letter page at 150 DPI. Other values return 400.Values: true, false
ImageResolutioninteger, default 150Pixels per inch of page, and the DPI written into the file when you send it: the sample's 96 gives 816 x 1,056 frames tagged 96 dpi. Left out, pages are drawn at 150 DPI but the file carries no DPI value. ConvertAPI documents 200 as its default.Values: 36 to 600
ColorSpaceenumgray stores each page as 8-bit grayscale (the sample shrank from 397,847 to 165,231 bytes); monochrome leaves only black and white in those grayscale frames (31,691 bytes), for fax-style archives. Color frames are RGB already, so rgb and truecolors give the same file as leaving it out.Values: rgb, gray, monochrome, truecolors
ImageWidthintegerDraw each page at this width, the height following its proportions. ImageHeight works the same way; ScaleProportions=false with both stretches to the exact box.Values: 1 to 20000 pixels
ImageHeightintegerDraw each page at this height. With ImageWidth too, the page fits inside both.Values: 1 to 20000 pixels
BackgroundColorstring, default whitePainted behind each page where the PDF draws nothing. The sample paints no page background, so black filled every frame's empty areas with black.Values: white, black, red, green, blue, gray, #RRGGBB or R,G,B
TransparentColorstringPixels of exactly this color become transparent; white cleared 89.9% of the pixels in the sample's three frames at 96 DPI (83.4% on page 1, which holds the photo).
PageRangestringRender only these pages. A range of one page returns a single-page TIFF named with its page number, such as greenhouse-inspection-3.tiff, and that file is not compressed.Values: Pages and ranges such as 1, 2-5 or 3-last
PasswordstringOpens a PDF that needs a password to open. Files that only restrict printing or copying render without one.
FileNamestringName of the TIFF (or stem of the per-page files) without the extension.
StoreFileboolean, default falseReturn a download link (Url and FileId) instead of the data; links expire after 3 hours.

Not supported yet

Setting one of these to anything but its default returns 400.

OptionWhat to do instead
ColorModeUse ColorSpace=gray or ColorSpace=monochrome for the same purpose.
BitDepthFrames have 8 bits per channel: RGB for color pages and one gray channel with gray or monochrome, in multi-page and single-page files alike. TransparentColor makes every frame RGBA, gray ones included. There is no 1-bit output; a monochrome frame holds its two levels in 8 bits.
CompressionLevelMulti-page files always use LZW, which is lossless.
RotateTurn pages first with /v2/convert/pdf/to/rotate.
ScaleSet the size with ImageResolution, ImageWidth or ImageHeight.

Also refused when set: CropTo, FitToSize.

What carries over, and what doesn't

Kept

  • Every page as its own frame, in order, each with its own size: 816 x 1,056 for the portrait pages and 1,056 x 816 for the wide readings page at 96 DPI
  • Exact pixels: LZW is lossless, and frame 1 of the sample matches our PNG of page 1 at 96 DPI pixel for pixel
  • The DPI you asked for, stored in each frame (96 in the sample)
  • What form fields and comments show, such as J. Marlow, the checkmark and the highlight

Lost or not yet supported

  • Text you can search or copy: the frames are pictures. OCR them if you need the words.
  • Small files for photos. Lossless frames keep photos large: the sample at 150 DPI is 792,819 bytes.
  • Compression for single-page results. One page, or MultiPage=false, gives uncompressed TIFFs of width x height x 3 bytes in color, or x 1 with ColorSpace=gray or monochrome.
  • Bookmarks, links, attachments and other document-level data.

Limits

  • Up to 2,000 pages per request; more returns 413 "rendering is limited to 2,000 pages per request".
  • 16,000 pixels per side and 100 million pixels per frame; past that the API returns 413.
  • A PDF that needs a password returns 422 "the input file is password-protected" until Password is sent.
  • One PDF per request, up to 10 MB on the Free plan or 100 MB on paid plans; up to 120 seconds per request.

Where teams use it

Systems that want one TIFF per document

Where a records, imaging or e-filing system expects one multi-page TIFF per document, this route produces exactly that: the 3-page sample PDF becomes one file with 3 frames.

Black-and-white images for fax and imaging workflows

With ColorSpace=monochrome every pixel is black or white. At 96 DPI the sample's three pages came to 31,691 bytes, 8% of the color version's 397,847.

Page images for OCR and document AI

Give a recognition tool one TIFF per document at the resolution it asks for, such as ImageResolution=300, with that DPI recorded in every frame.

Questions

Do I get one TIFF or one per page?

One TIFF with a frame per page, unless you send MultiPage=false. A request that selects a single page always gets a single-page TIFF named with that page number.

Is the TIFF compressed?

Multi-page TIFFs use LZW, a lossless method: 397,847 bytes for the sample's three pages at 96 DPI. Single-page files are written uncompressed, so for one page at high DPI, /v2/convert/pdf/to/png gives the same pixels in a smaller file.

How do I make a black-and-white TIFF?

Send ColorSpace=monochrome. Every pixel becomes pure black or white, cut at mid-gray. Thin, light text suffers at low resolution: at 96 DPI the sample's 9.5 pt gray caption broke up and was barely legible, while at 200 DPI it was clean. The light green of the logo turns white either way.

Why does my TIFF have no DPI?

The DPI tag is written only when you send ImageResolution. Left out, pages are drawn at 150 DPI and the file records no resolution. Send ImageResolution=150 to get the same pixels with 150 dpi stored.

Convert your first PDF file in a minute.