Skip to content
pdfconversionapi

VSDX to TIFF API

POST a VSDX to /v2/convert/vsdx/to/tiff and get a single multi-page TIFF holding every drawing page, compressed with LZW. For the two-page sample that is 206,838 bytes at the default 150 DPI.

Endpoint
POST /v2/convert/vsdx/to/tiff
Accepts
vsdx
Sample timing
0.634 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/vsdx/to/tiff \
  -H "Authorization: Bearer $PDFCONVERSIONAPI_KEY" \
  -F File=@bike-repair-workflow.vsdx \
  -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.634 s median1 file, 202 KB
{
  "ConversionCost": 1,
  "ConversionTime": 0.634,
  "Files": [
    {
      "FileName": "bike-repair-workflow.tiff",
      "FileExt": "tiff",
      "FileSize": 206838,
      "FileData": "SUkqABP1AQABAAAAAQAAAAEA…"
    }
  ]
}

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 bike-repair-workflow.tiff, rendered by the API
Input
bike-repair-workflow.vsdx (7.8 KB)
Output
bike-repair-workflow.tiff (202 KB)
Source
A two-page Visio drawing for a fictional bike shop, a repair intake flowchart and a workshop floor layout, which we wrote by hand from the VSDX package format (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 LZW-compressed TIFF. false returns one TIFF per page, and those are not compressed: 6,311,516 bytes each for the sample's pages.
ImageResolutioninteger, default 150DPI to draw the pages at. At 100 the pages are 1100 × 850 and the two-page TIFF is 122,476 bytes. The value is written into the TIFF when you send it.Values: 36–600
ImageWidthintegerDraw each page to this many pixels wide instead.Values: 1–20000
ImageHeightintegerOr this many pixels high; both together fit each page inside the box.Values: 1–20000
PageRangestringPages to include. One page, such as 2, gives a single uncompressed TIFF named bike-repair-workflow-2.tiff.Values: e.g. 2, 1-2, 2-last
ColorSpaceenum, default defaultgray stores each page as 8-bit gray: 109,474 bytes for the two-page TIFF. monochrome keeps only black and white in the same 8-bit gray pages (36,035 bytes), and rgb returns the same RGB file as the default. cmyk returns 400.Values: default, rgb, gray, grayscale, monochrome
TransparentColorstringOne exact color made transparent; white removes the page background, and the pages are then stored with an alpha channel (338,692 bytes for the sample).Values: A color name, #RRGGBB or R,G,B
FileNamestringName of the TIFF, bike-repair-workflow.tiff by default.
StoreFileboolean, default falseReturn a 3-hour link to the TIFF instead of its bytes.

Not supported yet

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

OptionWhat to do instead
PageSizeThe drawing's own page size is used; PageSize returns 400 "PageSize is not supported yet for VSDX files".

Also refused when set: PageOrientation.

What carries over, and what doesn't

Kept

  • All drawing pages in order in one TIFF, each page at the size saved in the file (1650 × 1275 at 150 DPI for Letter landscape)
  • Lossless LZW compression in the multi-page file
  • Shapes, fills, line weights, text and embedded pictures as the PDF route draws them
  • Gray pages stay gray: with ColorSpace=gray each page is one 8-bit channel, 109,474 bytes for the sample against 206,838 in color
  • Color pages as 8-bit RGB, with no alpha channel unless TransparentColor asks for one

Lost or not yet supported

  • Single-page TIFFs are stored uncompressed. MultiPage=false, or a PageRange with one page, gives files of about 6.3 MB per Letter page at 150 DPI.
  • No CCITT fax compression or 1-bit black-and-white pages.
  • Text is pixels, and hyperlinks and shape data are gone.
  • Pages of different sizes are all drawn at the largest width and height.

Limits

  • One VSDX per request; up to 2,000 pages drawn.
  • Pages above 16,000 pixels on a side or 100 million pixels return 413.
  • ImageResolution outside 36–600 returns 400.
  • Requests up to 10 MB on the Free plan or 100 MB on paid plans, all files and fields together.
  • 120 seconds per conversion; longer conversions return 504.

Where teams use it

Document systems that take TIFF

Records and imaging systems that file everything as TIFF can take the whole drawing as one multi-page image, one Visio page per TIFF page.

Review tools that load pages as TIFF

Some review and annotation tools open documents as multi-page TIFF images. Send the drawing at ImageResolution=200 or 300 to match the resolution the tool expects.

Questions

Why is one page so much bigger than the whole TIFF?

Only the combined multi-page TIFF is compressed (LZW). A single page is written raw: 1650 × 1275 pixels × 3 bytes is about 6.3 MB. Keep MultiPage at its default, or use PNG for single pages.

Which resolution do the pages have?

150 DPI unless you send ImageResolution; ConvertAPI's default is 200. The DPI is recorded in the TIFF only when you send it.

Can I get 1-bit black-and-white TIFF pages?

Not yet. ColorSpace=monochrome makes every pixel black or white, but the pages are stored as 8-bit gray with LZW (36,035 bytes for the sample), not as bilevel CCITT images.

Convert your first VSDX file in a minute.