storytold / deckcraft
git clone https://github.com/storytold/deckcraft.git
v0.8.0 · 5d ago
Presentations and slide shows: an open-source, clean-room reimplementation of Microsoft PowerPoint in pure Rust. Part of the ArtCraft Crafting Apps.
+45
stars, 24h · #859
+~359
stars, 7 days · #602
+4.1k
stars, 30 days · #196
4.1k
★ total · +10% this week
2.4k
forks · 550 open issues
Star history (as recorded here)
LanguageRust
LicenseApache-2.0
Created2026-10-07 (16d ago)
Last pushtoday
Watchers27
OwnerOrganization
Links
- GitHub: github.com/storytold/deckcraft
- Homepage: https://getartcraft.com/apps/slidecraft
- Releases · Issues · Hacker News mentions
README excerpt
DeckCraft Presentations and slide shows; an open-source, modern presentation and slide designer, built in pure Rust. Build decks with themes, layouts, shapes, pictures, tables, charts, transitions and animations, open and save .pptx presentation files, and present them full screen. Native on macOS, Windows, Linux and FreeBSD, and in the browser. Every button is also a command that the CLI and AI agents (through MCP) can drive. DeckCraft on getartcraft.com · ArtCraft · All Crafting Apps > [!NOTE] > **ArtCraft is a community of artists from all walks of life.** Painters, photographers, > filmmakers, illustrators, designers, animators, hobbyists, and people who picked up a pencil > last week. If you make things, you're one of us. **Come say hi on Discord.** What works · Getting started · Agents, CLI and MCP · Roadmap · Downloads · The Crafting Apps · License ## What works today DeckCraft is in alpha, heading for beta (see the roadmap). Today it can: - **Make decks**: slide masters and eleven layouts with placeholders that inherit position and formatting, eight original themes with colour and font schemes, sections, notes, comments, headers and footers, custom slide sizes. - **Draw**: 150+ preset shapes with adjust handles, connectors that stay glued to shapes, freeform, curve and scribble tools, merge shapes (union, combine, fragment, intersect, subtract), gradient, picture and pattern fills, outlines with dashes and arrowheads, shadows, glow, soft edges and reflections. - **Write**: in-place text editing with full font and paragraph formatting, bullets and numbering, columns, autofit, vertical text, fields and hyperlinks. - **Add content**: pictures with crop and corrections, tables with styles, charts, SmartArt basics, audio and video (MP3, AAC, FLAC, ALAC, Ogg, Opus, WAV, AIFF; H.264, HEVC, VP9, AV1). - **Present**: transitions (including Morph), entrance/emphasis/exit and motion-path animations, by-paragraph builds, full-screen slide show, presenter view, pen, rehearse timings, media playback. - **Exchange files**: open and save .pptx presentations, export PDF (slides, notes pages, handouts with selectable text), PNG/JPEG, an animated GIF of the deck and outlines. Unsaved work is kept by AutoRecover. - **Automate**: 200+ commands with undo, all scriptable from the CLI, a JSON control channel and an MCP server for AI agents. Shape Format contextual tab and selection handles Format Shape pane: gradient type, direction and stops Slide Sorter with each slide's transition Dark mode, with a native chart The built-in sample deck, rendered by deckcraft-cli render --sample --all ## Getting started PDF export uses the shared `craft-pdf` writer with import features disabled. See `crates/pdf/README.md` for the dependency and validation requirements. [code] On Linux, the build also needs the ALSA headers for slide-show sound: `alsa-lib-devel` on Fedora, `libasound2-dev` on Debian and Ubuntu, `alsa-lib` on Arch. Withou