Skip to content
pdfconversionapi

EPUB to TIFF API

POST an .epub to /v2/convert/epub/to/tiff and the laid-out book comes back as one multi-page TIFF. With ImageResolution=100 the ferry handbook became a 507,098-byte file of five 850 × 1100 frames, LZW-compressed and tagged 100 dpi.

Endpoint
POST /v2/convert/epub/to/tiff
Accepts
epub
Sample timing
0.189 s 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/epub/to/tiff \
  -H "Authorization: Bearer $PDFCONVERSIONAPI_KEY" \
  -F File=@gull-point-ferry.epub \
  --form-string ImageResolution=100 \
  -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 OK0.189 s median1 file, 495 KB
{
  "ConversionCost": 1,
  "ConversionTime": 0.189,
  "Files": [
    {
      "FileName": "gull-point-ferry.tiff",
      "FileExt": "tiff",
      "FileSize": 507098,
      "FileData": "SUkqAFxCAQBkAAAAAQAAAGQA…"
    }
  ]
}

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 gull-point-ferry.tiff, rendered by the API
Input
gull-point-ferry.epub (53 KB)
Output
gull-point-ferry.tiff (495 KB)
Source
A short fictional ferry guide written for this site: a cover, a contents page and three chapters with a route map and a fare table. (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 trueAll pages in one TIFF named gull-point-ferry.tiff. With false you get gull-point-ferry-1.tiff to -5.tiff, each stored without compression (701,460 bytes apiece at 50 dpi).
ImageResolutioninteger, default 150Resolution the pages are drawn at, written to the TIFF when sent. The defaults give five 1275 × 1650 frames in 852,102 bytes, with resolution tags of 1 × 1 and no unit.Values: 36–600
PageRangestringFrames to include. Two or more stay in one compressed TIFF; a single page comes back uncompressed.Values: 1, 3-5, 2-, 2-last
ImageWidthintegerFrame width in pixels.Values: 1–20,000
ImageHeightintegerFrame height in pixels.Values: 1–20,000
PageSizeenum, default letterPaper the chapters flow onto, portrait only; a4 for European archives.Values: a0–a9, b0–b5, letter, legal, ledger
BaseFontSizenumber, default 12The book's base text size; larger values add frames.Values: 1–50 (points)
MarginTopnumber, default 40Top margin, points.Values: 0–200 (points)
MarginRightnumber, default 40Right margin, points.Values: 0–200 (points)
MarginBottomnumber, default 40Bottom margin, points.Values: 0–200 (points)
MarginLeftnumber, default 40Left margin, points.Values: 0–200 (points)
ColorSpaceenum, default defaultGray or black-and-white frames with a single 8-bit channel, in the combined TIFF as well: 102,108 bytes for the five pages at 50 dpi, against 181,615 in color.Values: default, rgb, gray, monochrome
BackgroundColorstring, default whiteFill for page areas the book's CSS leaves unpainted.Values: Color names, #RRGGBB or R,G,B
TransparentColorstringAn exact color to make transparent. The frames then gain an alpha channel; without it they are plain RGB.Values: Color names, #RRGGBB or R,G,B
FileNamestringFile name without the .tiff extension.
StoreFileboolean, default falseA 3-hour download link instead of base64 data, handy for TIFFs of long books.

What carries over, and what doesn't

Kept

  • Every page in reading order inside one file: the sample's title page, contents page and three chapters are frames 1 to 5
  • The book's CSS layout on each frame: headings, the logbook blockquote with its red rule, the timetable and fare tables, the note box
  • The cover drawing and the route map from inside the book
  • Lossless LZW frames tagged with the resolution you sent (100 × 100 dpi in the sample)
  • A new frame for each chapter, because every chapter starts on a new page

Lost or not yet supported

  • Compression for single pages: PageRange=1 or MultiPage=false gives raw RGB, about 6.3 MB for one Letter page at 150 dpi.
  • Searchable text, the contents page's links and the book's navigation; for those, use /v2/convert/epub/to/pdf.
  • Fonts the book embeds, which were not used in our test; text is drawn with the server's fonts.
  • Bilevel fax compression (CCITT Group 4), which is not offered.
  • Web images and style sheets the book links to by URL, which are not fetched.

Limits

  • One EPUB per request.
  • Requests up to 10 MB on the Free plan or 100 MB on paid plans, all files and fields together.
  • Up to 2,000 frames per request; books over 1 GB or 10,000 files unpacked return 413.
  • Each output file up to 512 MB; at 600 dpi the five-page sample came to 4,891,582 bytes.
  • DRM-protected books return 422; files without META-INF/container.xml return 422 "this is not an EPUB".
  • 120 seconds per conversion.

Where teams use it

Legal deposit and print-ready archives

Libraries and publishers that archive page images can keep a TIFF of each e-book edition next to the EPUB itself. One file holds every page in order, at the resolution you choose.

Proofing and stamping tools

Review software that marks up scanned pages can open the TIFF frame by frame, so an editor can annotate the e-book's layout with the same tools used for print proofs.

Questions

Is the TIFF one file or one per page?

One file whenever the book has two or more pages, which is the default MultiPage=true. The frames follow the book's reading order. Send MultiPage=false for one TIFF per page, keeping in mind that those are uncompressed.

How large is a TIFF of a whole book?

It depends on the page count and resolution. The five-page sample is 852,102 bytes at the default 150 dpi and 507,098 bytes at 100 dpi. A long novel has hundreds of pages, so check the 2,000-page limit and consider StoreFile=true to receive a link instead of a very large JSON response.

Can I make the TIFF black and white?

You can make the pixels black and white with ColorSpace=monochrome; the combined TIFF then holds one 8-bit gray channel per frame with LZW (13,696 bytes for the sample at 50 dpi), not a 1-bit image. Systems that need bilevel TIFF will have to convert it.

Are the book's title and author stored in the TIFF?

No. The frames carry pixels and resolution tags only. The title page shows the title as the book's HTML prints it, but the EPUB's metadata is not copied into TIFF tags.

Convert your first EPUB file in a minute.