Skip to content
pdfconversionapi

NUMBERS to TIFF API

Send a .numbers spreadsheet to /v2/convert/numbers/to/tiff and get one uncompressed TIFF per printed page. The sample asks for landscape, grayscale, 72 DPI: one 841 × 595 page of 500,593 bytes.

Endpoint
POST /v2/convert/numbers/to/tiff
Accepts
numbers
Sample timing
0.875 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/numbers/to/tiff \
  -H "Authorization: Bearer $PDFCONVERSIONAPI_KEY" \
  -F File=@account-statement.numbers \
  --form-string PageOrientation=landscape \
  --form-string ColorSpace=gray \
  --form-string ImageResolution=72 \
  -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.875 s median1 file, 489 KB
{
  "ConversionCost": 1,
  "ConversionTime": 0.875,
  "Files": [
    {
      "FileName": "account-statement-1.tiff",
      "FileExt": "tiff",
      "FileSize": 500593,
      "FileData": "SUkqAMOiBwBIAAAAAQAAAEgA…"
    }
  ]
}

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 account-statement-1.tiff, rendered by the API
Input
account-statement.numbers (102 KB)
Output
account-statement-1.tiff (489 KB)
Source
A three-row account statement table saved by Numbers 12, taken from the MIT-licensed test files of an open-source Numbers reader; not made by us (MIT). 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
ColorSpaceenum, default defaultgray stores one 8-bit channel, a third of the bytes of a color page; monochrome uses only black and white; rgb gives the same three-channel color file as the default.Values: rgb, gray, monochrome
ImageResolutioninteger, default 150Pixels per inch, written into the TIFF when sent: the sample's file says 72 pixels per inch.Values: 36–600
PageOrientationenum, default defaultThe sample's landscape keeps all six columns on one page.Values: default, portrait, landscape
FitToPageboolean, default falseOne page wide on portrait paper.
PageSizeenum, default defaultPaper size, A4 by default.Values: letter, legal, tabloid, ledger, statement, executive, lettersmall, a3, a4, a4small, a5, b4, b5
ScaleintegerPrint zoom in percent.Values: 10–300
PageRangestringOnly these pages.Values: e.g. 1
ImageWidthintegerWidth of each TIFF in pixels.Values: 1–20000
ImageHeightintegerHeight of each TIFF in pixels.Values: 1–20000
TransparentColorstringExact color made transparent. The TIFF is then RGBA, holding gray values if you also send ColorSpace=gray.Values: a color name, #RRGGBB or R,G,B
BackgroundColorstring, default whiteColor behind the page.Values: a color name, #RRGGBB or R,G,B
MultiPageboolean, default falsetrue returns one LZW-compressed TIFF with a frame per page, account-statement.tiff, when there are two or more pages. Without other options that is 77,080 bytes for the two A4 color pages.
FileNamestringStem for the TIFF names.
StoreFileboolean, default falseLinks valid for 3 hours.

Not supported yet

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

Refused when set: AutoFitColumns, ThousandsSeparator, DecimalSeparator, DateFormat.

What carries over, and what doesn't

Kept

  • The whole statement on one landscape A4 page
  • Header shading and row bands as levels of gray
  • Formatted dates and amounts, as printed
  • 72 pixels per inch stored in the TIFF

Lost or not yet supported

  • Color, as requested with ColorSpace=gray.
  • Compression: 500,593 bytes for an 841 × 595 page, since TIFF pages are stored raw.
  • Fine detail at 72 DPI; small text is legible but soft. Raise ImageResolution for print.
  • Pence on the amounts, printed rounded (13.25 as 13GBP).

Limits

  • One Numbers file 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 page images per request.
  • A page image can't exceed 16,000 pixels per side or 100,000,000 pixels (413).
  • 120 seconds per conversion, then 504.

Where teams use it

Statements into a records system

Systems that store scanned documents as TIFF can take Numbers statements the same way, filed as one image per page.

A gray copy for black-and-white printing

Gray output turns the table's shading into gray levels in one channel, ready for printers and archives that work without color.

Page images at a set DPI

When a workflow expects pages at a fixed resolution, send ImageResolution and the TIFF records it.

Questions

How large will the TIFF be?

Width × height bytes in gray, three times that in color, because the pages are uncompressed. The sample's gray landscape page at 72 DPI is 500,593 bytes; one color A4 page at the default 150 DPI is about 6.5 MB.

Can I get all pages in one TIFF?

Yes, send MultiPage=true. Sent with no other options, the sample's two A4 color pages come back as one LZW-compressed file of 77,080 bytes, against 6,521,426 bytes for each separate page. Fitting the table on one page with PageOrientation=landscape or FitToPage=true, as the sample does, also gives a single file.

Can I get pure black and white?

Send ColorSpace=monochrome: every pixel becomes black or white at the halfway mark. On the sample the text stays, but the light gray header band and row shading turn white, so the table loses its stripes.

Convert your first NUMBERS file in a minute.