A .key file is a zip. Inside a deck saved by Keynote '09 or earlier with previews on sits a PDF of every slide rendered by Keynote itself. Taking that out is an extraction rather than a conversion, so the fonts, the positions and the slide size are exactly what the author built. A deck saved by Keynote since 2013 holds a preview.jpg and no PDF, so there is nothing to extract beyond a picture of the first slide, and Keynote for iCloud is the route to the whole deck.
Two things are not in it: presenter notes and separate pages for build stages. Both need an export from Keynote. If you need either, ask the sender rather than any tool.
The reason this worked at all is that Apple needed it to. Finder, Mail and Quick Look had to show a deck without launching Keynote, so Keynote '09 and earlier wrote the render in as they saved. That render is a complete, ordinary PDF, and nothing about extracting it is clever. Since 2013 Keynote has written a preview.jpg of the first slide in its place.
What is inside a .key package
Index/*.iwa
The deck itself in a current file, in Apple's private binary format. Effectively unreadable outside Keynote.
QuickLook/Preview.pdf
Only in decks from Keynote '09 and earlier: every slide, rendered by Keynote with the right fonts. This is what the tool extracts.
Data/
Images, video posters and audio placed on the slides, in their original form.
Metadata/
Which version of Keynote wrote the file, and the identifiers it syncs with.
The slides in the first entry are stored as Apple's own protocol buffers with an undocumented schema that changes between versions. Anything claiming to read that directly is guessing, and it will guess wrong about fonts it does not have. The second entry sidesteps the problem entirely by being a finished document. The two never sit in the same file: a current deck stores its slides as IWA with a preview.jpg beside them. The tool will save that picture of the first slide as a one-page PDF, and says plainly that it is a picture and not the deck.
A slide is not a page, and the shape shows it
The first surprise for most people is the size of the result. A deck is built at a screen shape, 4 by 3 or a wide 16 by 9, and the extracted PDF keeps whatever size it was built at. Open that next to an A4 document and it looks enormous and badly proportioned, because it is a screen shape rather than a paper one.
Printing it is not a problem: any print dialogue will scale a slide to fit a sheet, and the result is a landscape slide with white bands above and below. What people usually want instead is a handout, several slides to a page, and that is a layout step rather than a conversion one. Run the extracted PDF through pages per sheet and pick two, four or six.
What the render leaves out
The preview is the deck as an audience sees it, which means two things an author might be looking for are simply absent.
Every slide, in order, at full quality.
Real text with embedded fonts, so it selects and searches.
Images, charts and shapes exactly as positioned.
The slide size the deck was built at.
Presenter notes, which live beside the slides and are never shown to an audience.
One page per build stage, so a slide revealed in five steps is one page.
Transitions and animations, which have no meaning on paper.
Any slide marked skipped, which Keynote leaves out of its own render too.
Both absences are Keynote behaving sensibly rather than a limitation of extracting the file. If you need the notes, the sender exports with Include presenter notes ticked. If you need the builds broken out, they export with one page per stage. Both are options in Keynote's PDF export and neither can be recovered from a package that does not contain them.
When the preview is not there
Most packages arrive without one now, because every deck saved by Keynote since 2013 holds a preview image rather than a PDF. An older deck can lack one too, if it was saved with previews switched off.
When that happens no tool outside Apple's can rebuild the slides, and it is worth being plain about why rather than offering something that will disappoint. The slides exist only in Apple's private format, and reading it requires Apple's software. This tool does not turn the preview image into a PDF; it tells you there is nothing to extract. The sender can open the deck, then choose File, Export To, PDF. On an iPhone or iPad, open it, tap the three dots, then Export.
You can also do it yourself. Keynote for iCloud opens any .key file in a browser with an Apple Account, and its Download a Copy command saves a PDF. That uploads the deck to Apple, which matters for a confidential one.
Questions people actually ask
01Can I open a .key file on Windows?
Yes. A deck saved by Keynote '09 or earlier with previews on holds a PDF of the slides that Apple rendered, and the tool above extracts it exactly. A deck from current Keynote holds only a preview image, so open it in Keynote for iCloud in a browser and download it as PDF there.
02Are the presenter notes in the PDF?
No. The render is the slides as an audience sees them. Notes need an export from Keynote with Include presenter notes ticked, so ask the sender for that if you need them.
03Why is my deck landscape and huge?
Because a slide is not a page. The PDF keeps the slide size the deck was built at, a 4 by 3 or 16 by 9 screen shape rather than A4. It prints fine scaled to fit, and the page setup is the reason it looks oversized on screen.
04My deck has builds. Why is each slide only one page?
The preview renders each slide in its final state. Keynote's own export offers one page per build stage, which the preview does not, so a deck that relies on builds reads as a shorter document here.
05Can I get several slides on one page?
Not from the preview, which is one slide per page. Run the result through pages per sheet afterwards to get a handout with two, four or six slides on each sheet.
06What if there is no preview inside?
Then nothing outside Apple's software can read the deck, because the slides themselves are stored in Apple's private format. Open it in Keynote for iCloud and download a PDF, or ask the sender to export one.