Skip to content
pdfconversionapi

PPT to PPTX API

POST /v2/convert/ppt/to/pptx opens a PowerPoint 97-2003 deck and saves it in the current .pptx format. The sample's 81,408-byte .ppt came back as a 26,757-byte .pptx with all six slides, the hidden one still hidden.

Endpoint
POST /v2/convert/ppt/to/pptx
Accepts
ppt
Sample timing
0.566 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/ppt/to/pptx \
  -H "Authorization: Bearer $PDFCONVERSIONAPI_KEY" \
  -F File=@eastgate-pantry-orientation.ppt \
  -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.566 s median1 file, 26 KB
{
  "ConversionCost": 1,
  "ConversionTime": 0.566,
  "Files": [
    {
      "FileName": "eastgate-pantry-orientation.pptx",
      "FileExt": "pptx",
      "FileSize": 26757,
      "FileData": "UEsDBBQAAAgIAFt3ZF1gxYga…"
    }
  ]
}

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 eastgate-pantry-orientation.pptx, rendered by the API
Input
eastgate-pantry-orientation.ppt (80 KB)
Output
eastgate-pantry-orientation.pptx (26 KB)
Source
A six-slide volunteer orientation deck for a fictional food pantry, made by us and saved in the PowerPoint 97-2003 format; slide 5 is hidden and slide 3 has speaker notes. (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
PasswordstringDocumented, but encrypted .ppt files can't be opened yet: a copy of the sample saved with a password in PowerPoint returned 422 "the input file is password-protected" with the right password. With a deck that has no password it is ignored.
FileNamestringName of the new deck; the extension is always .pptx.

Not supported yet

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

OptionWhat to do instead
ConvertHiddenSlidesNot needed: every slide is kept, hidden ones still marked hidden. true returns 400 "ConvertHiddenSlides is not supported yet for PPT files".

What carries over, and what doesn't

Kept

  • All six slides in order, with slide 5 still hidden
  • Speaker notes: the note on slide 3 is in the new deck
  • The table as a real table you can edit, and the pie chart as a chart with its four values
  • Pictures, here the floor plan, and the slide size of 10 × 7.5 inches
  • Title, author, comments and dates from the file's properties

Lost or not yet supported

  • The chart's spreadsheet. The pie chart arrives with its values in the chart part but without an embedded workbook, so there is no data sheet to open and edit.
  • Unused layouts. The new deck has one master with the three layouts its slides use (title, title and content, title only), so PowerPoint's layout menu offers just those.
  • The application name stored in the file, which is set to "PDF Conversion API".

Limits

  • Only PowerPoint 97-2003 .ppt files. A .pptx renamed to .ppt returns 422 "it could not be opened as PPT"; send it to /v2/convert/pptx/to/pptx instead.
  • Requests up to 10 MB on the Free plan or 100 MB on paid plans; 120 seconds per conversion before a 504.
  • Macros in a deck are never run during the conversion.
  • Encrypted .ppt files return 422 "the input file is password-protected" for now, even with the correct Password.

Where teams use it

Upgrading a shared drive of old decks

Tools that read .pptx, including our other PPTX routes, can't open the binary format. Convert old files once and keep the .pptx copies next to them.

Getting decks ready for text extraction or rendering

Convert to .pptx first when the next step only reads Office Open XML. The output of the sample went straight into /v2/convert/pptx/to/png for the preview on this page.

Questions

Is anything lost when a .ppt becomes .pptx?

In our sample, no slide content: titles, bullets, the table, the pie chart, the picture, the notes and the hidden flag all came through. What changes is underneath: the chart has no embedded workbook, and the masters and layouts are rebuilt.

Why is the .pptx so much smaller than the .ppt?

The .pptx format is a ZIP archive, so its XML is compressed, while a .ppt stores records uncompressed in blocks. The sample went from 81,408 to 26,757 bytes.

Can I also convert .pps slide shows to .pptx?

Yes, at /v2/convert/pps/to/pptx. A show file keeps its timings and transitions in the new deck, which then opens for editing instead of starting the show.

Do my files stay the same on each run?

The slides and their content do, but the file can differ by a few bytes between requests, so don't compare outputs by checksum.

Convert your first PPT file in a minute.