Skip to content
pdfconversionapi

VSDX to JPG API

Upload a VSDX to /v2/convert/vsdx/to/jpg and get one JPEG per drawing page on a white background. The sample sends ImageWidth=1200, so both Letter landscape pages come back 1200 × 927 instead of 1650 × 1275 at the default 150 DPI.

Endpoint
POST /v2/convert/vsdx/to/jpg
Accepts
vsdx
Sample timing
0.539 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/jpg \
  -H "Authorization: Bearer $PDFCONVERSIONAPI_KEY" \
  -F File=@bike-repair-workflow.vsdx \
  --form-string ImageWidth=1200 \
  -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.539 s median2 files, 164 KB
{
  "ConversionCost": 1,
  "ConversionTime": 0.539,
  "Files": [
    {
      "FileName": "bike-repair-workflow-1.jpg",
      "FileExt": "jpg",
      "FileSize": 90696,
      "FileData": "/9j/4AAQSkZJRgABAgAAAQAB…"
    },
    {
      "FileName": "bike-repair-workflow-2.jpg",
      "FileExt": "jpg",
      "FileSize": 77326,
      "FileData": "/9j/4AAQSkZJRgABAgAAAQAB…"
    }
  ]
}

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-1.jpg, rendered by the API
Input
bike-repair-workflow.vsdx (7.8 KB)
Output
bike-repair-workflow-1.jpg (89 KB)bike-repair-workflow-2.jpg (76 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
ImageWidthintegerWidth of each JPEG in pixels, with the height kept in proportion. The sample's two pages at 1200 wide are 90,696 and 77,326 bytes.Values: 1–20000
ImageHeightintegerHeight in pixels. Sent with ImageWidth, each page is fitted inside both.Values: 1–20000
ImageResolutioninteger, default 150DPI to draw at when no size is given, recorded in the JPEG when you send it. ConvertAPI's default is 200.Values: 36–600
ImageQualityinteger, default 85JPEG quality. At the default 150 DPI the flowchart page is 148,782 bytes at 85 and 113,994 at 60. ConvertAPI's default is 75.Values: 1–100
PageRangestringWhich pages to convert; 1 gives only the flowchart, as bike-repair-workflow-1.jpg.Values: e.g. 1, 1-2, 2-last
ColorSpaceenum, default defaultgray writes one-channel JPEGs (96,986 bytes for page 1 at 150 DPI). cmyk returns 400.Values: default, rgb, gray, grayscale, monochrome
ScaleProportionsboolean, default trueWith false, ImageWidth and ImageHeight are both met exactly and the page is stretched.
FileNamestringStem for the page files; each name ends in its page number.
StoreFileboolean, default falseLinks to the stored JPEGs, kept for 3 hours, in place of the data.

Not supported yet

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

OptionWhat to do instead
PageSizeThe page size saved in the drawing is used; PageSize=letter returns 400 "PageSize is not supported yet for VSDX files".

Also refused when set: PageOrientation.

What carries over, and what doesn't

Kept

  • One JPEG per page, drawn from the same vector page the PDF route produces, so text and lines are drawn sharp at the requested size
  • Fills, line weights, dashed outlines and arrowheads as drawn in the file
  • Embedded pictures, like the sample's badge
  • Full-resolution color: no chroma subsampling (4:4:4), which keeps colored text and thin lines clean

Lost or not yet supported

  • No transparency: JPEG has no alpha channel, and the page background is white.
  • Text becomes pixels and can't be searched; hyperlinks and shape data are dropped.
  • JPEG edges show some compression noise around text and thin lines; PNG avoids it.
  • No DPI is written unless you send ImageResolution; the sample's JPEGs have none.
  • In a drawing with pages of different sizes, every page takes the largest width and height.

Limits

  • One VSDX per request, at most 2,000 pages drawn.
  • ImageWidth and ImageHeight must be 1 to 20,000, ImageResolution 36 to 600 and ImageQuality 1 to 100.
  • A page over 16,000 pixels on a side or 100 million pixels returns 413.
  • Requests up to 10 MB on the Free plan or 100 MB on paid plans, all files and fields together.
  • Conversions are cut off at 120 seconds with a 504.

Where teams use it

Diagram previews in a document portal

A portal that stores Visio files can show a JPEG of each page next to the download, so people find the right process map without opening Visio.

Images for email and chat

Paste a page of the flowchart into an email or a chat thread. At ImageWidth=1200 each page is under 100 KB in the sample.

Questions

Can I get all pages in one JPEG?

No, each page is its own file, named with its page number. Use PDF if you need the pages together in one file.

What size do the JPEGs come out?

At 150 DPI unless you ask otherwise: 1650 × 1275 for a Letter landscape page. ImageWidth=1200 gives 1200 × 927, and ImageResolution=200, ConvertAPI's default DPI, gives 2200 × 1700.

Are the JPEGs drawn at full quality before shrinking?

They are drawn directly at the requested size, not drawn large and scaled down, so small sizes keep lines crisp and files small.

Convert your first VSDX file in a minute.