Skip to content


A scalable vector graphic (SVG) is an image format that enables infinite scaling without pixelation, unlike raster graphic formats like JPEG and PNG. Apple Keynote and Microsoft PowerPoint don't support SVG files natively, though they have "shapes" that are vectors.

PPT (Microsoft PowerPoint 97-2003) is an old file format developed primarily for Microsoft's PowerPoint software. Due to its popularity, it can be opened in many programs, free and paid alike.


David Astling publishes a script that converts SVG files to Keynote shapes. It no longer runs on newer versions of macOS (likely due to being 32-bit).

Kyle Ledbetter posts an article outlining how to import SVG files into Keynote or Powerpoint by using a PPT file as an intermediary. Others noted Libre Office is more stable with less quirks.

I found myself needing to transfer lots of SVG files into Keynote. To make it easier I made a crude Alfred workflow to automate it. Then I was able to generalize it into a Bash script with a dynamic Libre Office macro.

If you would like native support for SVG files and other vector formats, I recommend sending Apple feedback and voting on Microsoft PowerPoint suggestions.

⭐  Please give svgtoppt a star on GitHub if you find it useful

Known Issues

Issue Resolution
Fonts don't transfer well when doing conversions from SVG to PPT to Keynote (automated or not) Convert text to curves/outlines/paths when exporting your SVG
Gradients displays fine in Libre Office but when opening the PPT file in Keynote it's gone Recreate the gradient with Keynote's native gradient fill or save your content as a PDF file and drag & drop into Keynote to retain your original gradient
Background rectangle displays fine in Libre Office but when opening the PPT file in Keynote the rectangle is small Resize rectangle or use Keynote's native background color on your slides


Back to top