DeckCraft is a free, open-source presentation application designed as an alternative to Microsoft PowerPoint. Written entirely in Rust, it allows users to create slide decks, edit PowerPoint files, add animations, and present slideshows across desktop operating systems and modern web browsers.
Developed as part of the ArtCraft collection of creative applications, DeckCraft combines a graphical presentation editor with command-line tools and AI agent integration. This makes it interesting not only for people creating presentations manually but also for developers who want to automate slide creation.
Although DeckCraft already offers an extensive set of presentation features, it remains in early development. Users looking for a dependable replacement for PowerPoint should consider its development status and verify that their existing presentations work correctly.
Features
Presentation Creation and Themes
DeckCraft provides tools for building presentations with slide masters, layouts, placeholders, and customizable slide dimensions. Users can organize slides into sections, add notes and comments, and apply themes with coordinated color and font schemes.
These features make it suitable for creating business presentations, educational materials, and visual slide decks without relying on proprietary presentation software.
Shapes and Drawing Tools
The application includes more than 150 preset shapes, connectors, curves, freeform drawing, and shape-merging operations. Users can customize outlines, gradients, picture fills, shadows, glow effects, and other visual properties.
These tools provide flexibility when creating diagrams, illustrations, flowcharts, and other visual elements directly within a presentation.
Text, Tables, and Charts
DeckCraft supports in-place text editing, paragraph formatting, bullets, numbering, columns, hyperlinks, and vertical text. It also includes tables, charts, and basic SmartArt functionality.
These capabilities cover many common presentation tasks, although compatibility with complex formatting imported from Microsoft PowerPoint should be tested before using the application for important documents.
Animations and Slide Transitions
Users can add slide transitions, including Morph, alongside entrance, emphasis, and exit animations. Motion paths and paragraph-based animation builds are also supported.
DeckCraft includes a full-screen slideshow mode, presenter view, presentation timing tools, and media playback. This makes it useful for presentations that require more than static slides.
PowerPoint File Compatibility
DeckCraft can open and save PowerPoint PPTX files. It also supports exporting presentations to PDF, PNG, JPEG, and outline formats.
PDF exports include options for slides, notes pages, and handouts with selectable text. An AutoRecover feature helps preserve unsaved work.
However, file-format support does not guarantee perfect compatibility with every PowerPoint feature. Complex presentations should be checked after importing and exporting.
Command-Line and AI Automation
One of DeckCraft's most distinctive features is its command-driven architecture. The application exposes more than 200 commands that can be used through its CLI, a JSON control channel, and a Model Context Protocol (MCP) server.
This enables scripts and compatible AI agents to create slides, modify presentation content, and automate repetitive tasks. Developers can also use the CLI to render sample presentations and perform operations without manually interacting with the graphical interface.
For users who regularly generate reports, product presentations, or other structured slide decks, this automation capability could be particularly valuable.
Cross-Platform Availability
DeckCraft is designed for Windows, macOS, Linux, FreeBSD, and modern web browsers. Prebuilt packages are available for supported platforms, including Windows installers, macOS disk images, Linux AppImages, Debian packages, RPM packages, and browser-based builds.
Its Rust-based implementation and cross-platform distribution make it an interesting option for users who want presentation software beyond the Microsoft ecosystem.
Download DeckCraft v0.8.0 - Software Mirrors |
|---|
DeckCraft v0.8.0 for Windowsdeckcraft-0.8.0-windows-x86.msi | 60.24 MB deckcraft-0.8.0-windows-x86-portable.zip | 75.25 MB deckcraft-0.8.0-windows-x64.msi | 60.78 MB deckcraft-0.8.0-windows-x64-portable.zip | 77.28 MB deckcraft-0.8.0-windows-arm64.msi | 58.07 MB deckcraft-0.8.0-windows-arm64-portable.zip | 74.41 MB |
DeckCraft v0.8.0 for macOSdeckcraft-cli-0.8.0-macos-universal.zip | 69.15 MB deckcraft-0.8.0-macos-universal.dmg | 82.83 MB |
DeckCraft v0.8.0 for Linuxdeckcraft-0.8.0-linux-x86_64.tar.gz | 77.42 MB deckcraft-0.8.0-linux-x86_64.rpm | 78.19 MB deckcraft-0.8.0-linux-x86_64.flatpak | 53.86 MB deckcraft-0.8.0-linux-x86_64.deb | 78.55 MB deckcraft-0.8.0-linux-x86_64.AppImage.zsync | 255.94 kB deckcraft-0.8.0-linux-x86_64.AppImage | 73.06 MB deckcraft-0.8.0-linux-riscv64.tar.gz | 76.58 MB deckcraft-0.8.0-linux-riscv64.rpm | 77.38 MB deckcraft-0.8.0-linux-riscv64.deb | 77.59 MB deckcraft-0.8.0-linux-aarch64.tar.gz | 75.05 MB deckcraft-0.8.0-linux-aarch64.rpm | 76.36 MB deckcraft-0.8.0-linux-aarch64.flatpak | 51.26 MB deckcraft-0.8.0-linux-aarch64.deb | 76.8 MB deckcraft-0.8.0-linux-aarch64.AppImage.zsync | 248.06 kB deckcraft-0.8.0-linux-aarch64.AppImage | 70.8 MB |
DeckCraft v0.8.0 for BSDdeckcraft-0.8.0-freebsd-x86_64.tar.gz | 77.28 MB |
Others Download related to DeckCraft v0.8.0deckcraft-web-0.8.0.zip | 10.43 MB |
DeckCraft v0.8.0 Source Code
DeckCraft v0.8.0 Source code (zip)
DeckCraft v0.8.0 Source code (tar.gz)
|
DeckCraft v0.8.0 Release Notes: What's Changed- Opus: validate the header in Decoder::from_head (#425) by @MarekSpodBiedry in #442
- xtask: assets audit no longer panics on Unicode names and reads real paths from git (#424) by @MarekSpodBiedry in #443
- Info: keep a property draft when another field or the side menu is clicked (#422) by @MarekSpodBiedry in #445
- Engine: moving the selection to another text body settles the composition (#421) by @MarekSpodBiedry in #446
- Format scientific number formats (0.00E+00) in chart labels (#419) by @MarekSpodBiedry in #448
- UI: notes, alt text and rename drafts no longer carry over to another document (#413) by @MarekSpodBiedry in #450
- Pptx: keep the math namespace equations inherit from the slide root or a wrapper (#412) by @MarekSpodBiedry in #451
- MCP: do not resend a command whose reply was lost (#409) by @MarekSpodBiedry in #453
- Engine: a command that fails after editing puts the presentation back (#405) by @MarekSpodBiedry in #454
- Table: split and cell fill stay inside the table (#400) by @MarekSpodBiedry in #455
- Bitstream: reject bad NAL length widths, check NAL endpoints and signed Exp-Golomb limits (#397) by @MarekSpodBiedry in #456
- Matroska: stop following chapter and tag nesting past 32 levels (#396) by @MarekSpodBiedry in #457
- AV1: reject tile groups that repeat, skip or reorder tiles (#395) by @MarekSpodBiedry in #458
- Slide show: Honeycomb's hexagons cover the whole slide again (#420) by @albayazid in #460
- Copy and Cut buttons and menus put the text on the system clipboard (#431) by @Zetenypapp in #463
- Media: preserve video frames and EOF across seeks by @MMexicann in #587
- Fix keyboard navigation when Presenter View has focus by @lambertoo in #707
- Slide show: click-triggered animations, per-slide state and hit testing by @nagasakimark in #713
- pptx: write linked pictures with r:link so PowerPoint resolves external images by @midasmatterhorn in #728
- Colour menus: an Eyedropper that takes a colour from the slide (#367) by @Silvertree2010 in #436
- Slide: leading tabs in a new slide's body set the outline level (#370) by @MarekSpodBiedry in #459
- CLI: convert and run refuse output formats DeckCraft can't write (#715) by @switch87 in #716
- PPTX: .potx and .ppsx declare a template and slide show main part (#210) by @justinjohn0306 in #212
- Animations: nine PowerPoint exit effects import as themselves (#147) by @justinjohn0306 in #222
- SmartArt: text is laid out on its text rectangle (dsp:txXfrm), not in columns by @pierrevbc in #242
- fix: DeckCraft upstream issue #104 by @FabPei in #306
- macOS: end the process in on_exit so closing the window doesn't crash by @marcoarnulfo in #308
- Open: a password-protected presentation says so, and open errors show on the start screen by @marcoarnulfo in #348
- Fonts: the font scan leaves out faces with no outline tables by @dotCooCoo in #351
- Bump quick-xml to 0.41 (RUSTSEC-2026-0194, RUSTSEC-2026-0195) by @natocool2 in #356
- Fonts: a lookup finds an installed family whichever thread loads it first by @LloydNicholson in #80
- Command palette: one Export… entry that opens the dialog, no path-only duplicate (#79) by @MarekSpodBiedry in #82
- PPTX: animation rewind survives save and reopen (#77) by @MarekSpodBiedry in #83
- Export: an unknown format is an error instead of a deckcraft file by @mikl0s in #95
- Slides: going to a slide that does not exist is an error by @mikl0s in #96
- Commands: an invalid shape id is an error instead of the selection by @mikl0s in #97
- docs(readme): percent-encode middle dot in platforms badge URL by @dylanmtaylor in #98
- PPTX import: a transition without spd is 0.5 s, not the effect's default (#117) by @alexanderalber in #149
- Issue #106: zooming keeps the point under the pointer by @LloydNicholson in #156
- Charts: value axes start above zero when the values sit high, as in Office by @LloydNicholson in #157
- Ribbon: transition and animation tiles follow the dark theme (#159) by @MarekSpodBiedry in #160
- Windows: compile DX12 shaders with FXC by @itrycodinganditsbad in #176
- CLI: --help prints usage and unknown render flags are rejected (#163) by @MarekSpodBiedry in #179
- Ctrl+C then Ctrl+V pastes objects that carry no text (Fixes #182) by @Claudio911015 in #189
- Slide Size: choose Portrait or Landscape (#198) by @justinjohn0306 in #201
- Home: a Selection Pane button that works with nothing selected (#132) by @justinjohn0306 in #205
- PPTX: a lone guide keeps the name its preset uses, adj1 or adj (#214) by @justinjohn0306 in #216
- Read Markdown outlines as Markdown (#211) by @LloydNicholson in #218
- Text: draw shrink-on-overflow at the scale the file was saved with by @xmaks82 in #226
- Canvas: right click selects the shape under the pointer by @pierrevbc in #244
- Title bar: Export button next to Save by @pierrevbc in #246
- Text: exact line spacing ends at the last line's descent by @xmaks82 in #249
- Text: line spacing reduction comes off the percentage, not the spacing by @xmaks82 in #253
- Comments: threads and resolved state survive a .pptx round trip (#70) by @albayazid in #280
- ui: admit stock macOS CJK faces as interface fallbacks (#101) by @Momentum96 in #376
- render: 3-D light rigs and materials, per-side extrusion shading by @NikitkaRa in #597
- render: 3-D contours by @NikitkaRa in #600
- Animations: check effect options and accept direction words by @NikitkaRa in #620
- Shapes: star4/star5 text rectangles as the standard defines them by @NikitkaRa in #642
- Charts: percent axes for 100% stacked; source-linked axis number formats by @NikitkaRa in #659
- Startup: fall back to Wayland when DISPLAY names no X server by @NikitkaRa in #661
- Render: don't lay out table cell text that lands off the slide by @NikitkaRa in #663
- PPTX: keep table styles the file defines when no table uses them by @NikitkaRa in #694
- PPTX: normalize literal line ends in XML so runs stay put on save by @NikitkaRa in #701
- Undo: cap the history by memory as well as by steps by @NikitkaRa in #704
- PPTX: write Color Pulse emphasis as a colour change, not a scale by @NikitkaRa in #705
- MCP tools refuse an argument that is not in their schema (#371) by @NikitkaRa in #375
- Metafile: clip EMF and WMF drawing to rectangle regions by @NikitkaRa in #437
- Edit: copies remap media, connector ends, animation targets and triggers (#406) by @NikitkaRa in #475
- Render: budget shape path-gradient work on dense outlines (#404) by @NikitkaRa in #476
- Pptx: budget chart points, chart XML size, inflate work and VML lookups (#401) by @NikitkaRa in #480
- Charts: pie and doughnut data labels use the number format (#324) by @NikitkaRa in #486
- Designer: layout ideas that rearrange the current slide (#314) by @NikitkaRa in #489
- Fonts: find fonts where Linux and Flatpak keep them; add and rescan commands (#277) by @NikitkaRa in #491
- Format Shape: line compound, cap, join, arrows and sizes; lock aspect ratio by @NikitkaRa in #500
- Engine: seeded editor soak tests; tiny charts no longer blank the slide by @NikitkaRa in #502
- Text: set text transparency from Text Fill (#32) by @NikitkaRa in #504
- Transitions: choose a transition sound and play it in the show by @NikitkaRa in #505
- UI: seeded whole-window soak with memory and timing bounds by @NikitkaRa in #507
- UI: WordArt Transform gallery applies a text warp by @NikitkaRa in #511
- Shapes: Edit Points — drag, add and delete a shape's vertices by @NikitkaRa in #514
- Format: report damaged embedded media and open such files as a repaired copy by @NikitkaRa in #526
- Morph: the same text moves and resizes instead of cross-fading by @NikitkaRa in #541
- Pictures: Remove Background with a classical matte by @NikitkaRa in #550
- Animations: add 34 PowerPoint motion path presets by @NikitkaRa in #551
- Text: Bullets and Numbering dialog by @NikitkaRa in #553
- Pptx: round-trip comments, links, shows, groups and inherited placeholders by @NikitkaRa in #554
- Edit: Paste Special (destination theme, keep source, picture, text only) by @NikitkaRa in #558
- Pptx: round-trip text effects, layout, fills, bevels and connectors by @NikitkaRa in #562
- Performance baseline: deckcraft-cli bench and cargo xtask bench by @NikitkaRa in #564
- Make PDF export ~2.8× faster with byte-identical output by @NikitkaRa in #566
- Metafile: draw EMF+ only pictures by @NikitkaRa in #574
- PPTX: round-trip 3-D models and animation bounce end by @NikitkaRa in #578
- PPTX corpus: themes, masters, effects and links; keep text Mouse Over actions by @NikitkaRa in #589
- PPTX: round-trip chart trendlines by @NikitkaRa in #590
- Render 3-D extrusions: sides under turned cameras (3-D slice 1) by @NikitkaRa in #595
- Insert: a gallery of Lucide icons as stroked shapes by @NikitkaRa in #625
- Render: cap dash count so a tiny dash on a huge shape can't crash on open by @NikitkaRa in #639
- UI: Size and Position dialog sets geometry in one step by @NikitkaRa in #641
- Shapes: chevron text rectangle per presetShapeDefinitions by @NikitkaRa in #643
- Charts: draw axis titles by @NikitkaRa in #657
- Review: previous and next comment by @NikitkaRa in #672
- Export: image exports keep the whole slide; partial failures say what was written by @NikitkaRa in #681
- Media: damaged audio no longer hangs or panics by @NikitkaRa in #696
- Pptx: read and write embedded fonts by @NikitkaRa in #439
- Parsers: check hostile numeric fields before arithmetic (#426) by @NikitkaRa in #467
- Anim: group animations by sequence in one pass (#410) by @NikitkaRa in #472
- Text: bidi levels for language runs in linear time (#403) by @NikitkaRa in #477
- Render: cap RGBA conversion and bound the failed-image cache (#402) by @NikitkaRa in #478
- Recovery: unique uids, per-instance ownership, keep snapshots until replaced (#390) by @NikitkaRa in #482
- Print: choose paper size and orientation for notes and handouts by @NikitkaRa in #499
- Format Shape: shadow, glow and reflection detail controls by @NikitkaRa in #503
- Shapes: Edit Points — point types, Bézier handles, right-click menu by @NikitkaRa in #515
- Transitions: built-in sounds, Stop Previous Sound and Loop Until Next by @NikitkaRa in #516
- PPTX: owned corpus round-trip, keep notes-master header and footer by @NikitkaRa in #517
- File: six original starter decks by @NikitkaRa in #593
- Text: underline an IME composition in a table cell by @NikitkaRa in #618
- UI: Photo Album dialog inserts pictures as slides by @NikitkaRa in #647
- Format: repair degenerate slide sizes on load by @NikitkaRa in #665
- Merge Shapes: text merges as its letters, so a picture can fill them by @NikitkaRa in #678
- UI: Alt Text's decorative checkbox follows the selection by @NikitkaRa in #682
- UI: Create New Theme Colors dialog edits the theme in one step by @NikitkaRa in #683
- UI: Create New Theme Fonts dialog edits the theme in one step by @NikitkaRa in #687
- Outline: lay out only the slides in view by @NikitkaRa in #695
- Media: damaged MP4 sample tables no longer abort the app by @NikitkaRa in #699
- Comments: browser-created comments and replies get a creation timestamp (#72) by @MarekSpodBiedry in #85
- Slide show: media set to play in the click sequence starts on Next (#116) by @alexanderalber in #140
- Slides: Ctrl+A in the slide pane selects every slide (#188) by @isaac-levine in #191
- Animation Pane: advanced timeline with draggable bars by @NikitkaRa in #495
- Home: Replace Fonts dialog and font.replace command by @NikitkaRa in #512
- Design: Browse for Themes from a .thmx, .pptx or .potx file by @NikitkaRa in #530
- Table: borders, cell margins and cell text alignment by @NikitkaRa in #540
- Pictures: Picture Styles gallery and Picture Border by @NikitkaRa in #545
- Pictures: Recolor gallery and Set Transparent Color by @NikitkaRa in #547
- UI: View › New Window opens a second window by @NikitkaRa in #560
- UI: sections in the Slide Sorter by @NikitkaRa in #586
- Text: shrink on overflow gives up at once when even 10% overflows by @NikitkaRa in #651
- UI: Edit Photo Album reflows the album in one step by @NikitkaRa in #658
- Insert: Action Settings dialog and shape.action by @NikitkaRa in #557
- SmartArt: Text Pane, add and remove shapes, promote and demote by @NikitkaRa in #596
- SmartArt: 15 layouts, SmartArt Styles and Change Colors by @NikitkaRa in #606
- SmartArt: shrink text to fit, picture layouts, 3-D styles and more colours by @NikitkaRa in #610
- SmartArt: node pictures from the data model, Brick Scene camera, four more layouts by @NikitkaRa in #613
- SmartArt: six more layouts, clear Venn labels, read back older Picture Accent Process files by @NikitkaRa in #617
- SmartArt: organisation charts with assistants, segmented/multidirectional cycles, cycle matrix, segmented pyramid, pie by @NikitkaRa in #621
- SmartArt: Name and Title org chart, closer Half Circle, ten more layouts, convert to/from text and shapes by @NikitkaRa in #623
- SmartArt: Convert to SmartArt gallery on Home; Convert to Text keeps the text size by @NikitkaRa in #627
- SmartArt: layout gallery thumbnails and hover preview by @NikitkaRa in #634
- UI: Date and Time dialog inserts a format in one step by @NikitkaRa in #668
- UI: Hyperlink dialog follows the selection by @NikitkaRa in #689
- SmartArt: write the outline to .pptx as a diagram and read it back from the data model by @NikitkaRa in #601
- Notes and Presenter View: long notes scroll, presenter controls show (#221) by @justinjohn0306 in #224
- Palette: skip commands that need a value by @NikitkaRa in #440
- Show: a laser pointer that leaves no ink by @NikitkaRa in #441
- Media: keep playback with the document and the clip (#415) by @NikitkaRa in #483
- Show: render the next slide in the background while the current one rests (#240) by @NikitkaRa in #490
- Pictures: Artistic Effects — apply, change, remove and keep in PPTX by @NikitkaRa in #518
- Format: bound total embedded media when opening a .deckcraft by @NikitkaRa in #528
- PPTX: keep add-in tags on the presentation, slides and shapes by @NikitkaRa in #531
- Pptx: round-trip tables, charts, animation, media, sections and masters by @NikitkaRa in #533
- PPTX: keep custom XML, the sensitivity label and custom properties by @NikitkaRa in #535
- Add the Handout Master view (stacked on #533) by @NikitkaRa in #572
- Add the Notes Master view (stacked on #572 / #533) by @NikitkaRa in #573
- Notes pages and PDF handouts follow their masters (stacked on #573) by @NikitkaRa in #577
- Notes Master slide preview; master header/footer text keeps its formatting (stacked on #577) by @NikitkaRa in #580
- PDF master header/footer text wraps and keeps mixed formatting (stacked on #580) by @NikitkaRa in #583
- Notes Page view draws master text wrapped (stacked on #583) by @NikitkaRa in #592
- Show: See All Slides and zoom by @NikitkaRa in #649
- Presenter view: pause and reset the timer, and notes size by @NikitkaRa in #656
- Show: play a custom show by @NikitkaRa in #660
- Show: show the slide number while typing it by @NikitkaRa in #664
- Show: a first animation set to With/After Previous plays when the slide appears by @NikitkaRa in #671
- View: Zoom dialog applies a percent or Fit by @NikitkaRa in #675
- Show: Show Media Controls hides the playback bar by @NikitkaRa in #679
- Export: a PNG or JPEG slide records 144 dpi at the default 2× size by @NikitkaRa in #684
- PPTX: keep the notes master's own placeholders and colour map on save by @NikitkaRa in #685
- UI: Design Effects applies a theme effect scheme by @NikitkaRa in #698
- UI: Slide Master Preserve and Title or Footers placeholders by @NikitkaRa in #703
- Text: honour spcFirstLastPara (space before the first paragraph) by @xmaks82 in #254
- CLI: say that render --slide counts from 0 (#359) by @NikitkaRa in #361
- AV1: reject duplicate film-grain scaling points; a failed job still publishes (#394) by @NikitkaRa in #481
- Video: check the whole picture store against a memory budget (#398) by @NikitkaRa in #484
- PPTX: read Office 2016 charts (waterfall, funnel, treemap…) and keep them by @NikitkaRa in #532
- UI: customizable Quick Access Toolbar by @NikitkaRa in #563
- Metafile: EMF+ arcs, convex clip paths, wrapped strings, nested metafiles by @NikitkaRa in #588
- Charts: histograms, Pareto and box and whisker; Office 2016 charts save as themselves by @NikitkaRa in #591
- Charts: multi-level treemaps and sunbursts; inclusive box quartiles by @NikitkaRa in #594
- Charts: keep and draw region map charts by @NikitkaRa in #598
- Charts: polar radar, stock high-low lines and up/down bars, combo sample by @NikitkaRa in #602
- Render: draw chart trendlines by @NikitkaRa in #603
- Metafile: EMF+ cardinal curves and region fills by @NikitkaRa in #633
- Metafile: EMF+ Clear, and the EMF+ record coverage written down by @NikitkaRa in #635
- Charts: bar widths, column/bar point fills, smoothed lines and chart text colour as the file sets them by @NikitkaRa in #638
- Charts: category axis orientation; horizontal bars list the first category at the bottom by @NikitkaRa in #640
- Charts: scatter and bubble charts get a value x axis by @NikitkaRa in #662
- Charts: logarithmic value axes by @NikitkaRa in #669
- Charts: a chart frame with no width no longer panics by @NikitkaRa in #690
- UI: Trim Media dialog follows the selection by @NikitkaRa in #691
- Title bar: on macOS the window buttons sit centred in it (#71) by @marcoarnulfo in #223
- Charts: draw waterfall, funnel, treemap and sunburst layouts by @NikitkaRa in #537
- Metafile: EMF+ images, text, gradient brushes and clipping by @NikitkaRa in #582
- Charts: value-axis minor gridlines by @NikitkaRa in #666
- CLI: render-transition refuses --t values that would share one file name (#423) by @MarekSpodBiedry in #444
- H.264: bound frame_num gap work and reject gaps the SPS forbids (#427) by @NikitkaRa in #465
- Control server: bound connections, line length, queue and socket timeouts (#418) by @NikitkaRa in #471
- Table: inserting and deleting rows and columns keeps merges consistent (#408) by @NikitkaRa in #473
- Design: Variants gallery with four colour variations of the theme by @NikitkaRa in #542
- Tables: Draw Table pencil and Table Eraser by @NikitkaRa in #544
- Review: spelling with Hunspell dictionaries, suggestions, Change and Ignore All by @NikitkaRa in #609
- Spelling: squiggles while typing, Add to Dictionary, per-run languages, compounds by @NikitkaRa in #615
- Spelling: squiggles in table cells and speaker notes; UI-thread checking on the web by @NikitkaRa in #626
- PPTX: shape text anchors at the top when the file gives no anchor; write ctr for centred shapes by @NikitkaRa in #654
- PDF: map each glyph to its shaping cluster's text in ToUnicode (#164) by @MarekSpodBiedry in #178
- Text: AutoCorrect options, case rules and your own entries by @NikitkaRa in #521
- Spelling: notes right-click menu, Review > Language (Do Not Check Spelling), repeated words by @NikitkaRa in #632
- Mark the current transition effect option (#365) by @NikitkaRa in #369
- Media: a failed or stalled audio output hands the clock back to wall time (#417) by @NikitkaRa in #468
- Web: keep a picked file on the document and slide that asked for it by @NikitkaRa in #479
- Draw: Ink to Shape converts pen strokes into shapes by @NikitkaRa in #539
- UI: preview slide animations on the editor canvas by @NikitkaRa in #571
- Startup: survive damaged settings, font folders, recovery folders and small texture limits by @NikitkaRa in #644
- Canvas: a trackpad swipe turns the page by @NikitkaRa in #648
- UI: keep every texture within the GPU max texture side by @NikitkaRa in #652
- Show: presenter view keeps a portrait Next slide inside its column by @NikitkaRa in #655
- Canvas: a two-finger twist rotates the selection by @NikitkaRa in #674
- Clipboard: rich text and pictures for Pages and Keynote by @NikitkaRa in #702
- A tabbed slide body is an outline, and --help exits (#360) by @NikitkaRa in #368
- UI: Format Shape fill transparency follows the selection by @NikitkaRa in #697
- Shapes: smooth a rectangle's corners into a squircle (#286) by @NikitkaRa in #492
- Format Shape: picture or texture fill options by @NikitkaRa in #506
- UI: WordArt adjust handles drag a text warp by @NikitkaRa in #519
- Review: compare with a revised copy and accept its slides by @NikitkaRa in #525
- UI: Grid Options sets spacing, snap and the on-screen grid by @NikitkaRa in #536
- Text: Find and Replace across slides, tables and notes by @NikitkaRa in #556
- View: indent and tab markers on the ruler by @NikitkaRa in #567
- Text: Tabs dialog and the ruler's tab selector (stacked on #567) by @NikitkaRa in #569
- UI: Font dialog sets character formatting in one step by @NikitkaRa in #630
- UI: Paragraph dialog sets alignment, indents and spacing by @NikitkaRa in #637
- Review: Thesaurus pane with a built-in English word list by @NikitkaRa in #549
- View: movable drawing guides saved with the presentation by @NikitkaRa in #559
- Charts: error bars by @NikitkaRa in #673
- Draw: pen pressure scales ink width by @NikitkaRa in #611
- Format: never save a .deckcraft that cannot be reopened over a NaN by @NikitkaRa in #670
- Notes: speaker notes show their formatting and keep it when edited by @Mathiasko in #168
- Pictures: Change Picture replaces the selected picture (#115) by @justinjohn0306 in #204
- Tables: caret in the edited cell, click-to-place, drag borders to resize by @pierrevbc in #230
- Canvas: drag the frame of a text box being edited to move it by @pierrevbc in #243
- fix(cli): render refuses an unknown option instead of writing it as a file (#235) by @RCShoemaker in #258
- Start screen: a missing Recent file is marked, its error shows, and entries can be removed (#172) by @albayazid in #291
- deckcraft-cli help explains the CLI to an agent by @hoblin in #303
- Review: the Language dialog marks the selected text with the language you pick by @marcoarnulfo in #345
- File: save through a unique, exclusively created temporary file (#391) by @MarekSpodBiedry in #466
- UI: keep editor slides on the Retina pixel grid by @NikitkaRa in #522
- UI: Format Background picture fill sets transparency and tiling by @NikitkaRa in #692
- Export: animated GIF of the deck (Export… dialog, CLI, MCP) (#171) by @Mathiasko in #177
- Text: typing goes on after Tab in a text box (#78) by @alexanderalber in #139
- Charts: a missing varyColors varies single-series bar colours by point (#143) by @MarekSpodBiedry in #151
- MCP: confine file access with --automation-read-root and --automation-write-root by @isaac-levine in #247
- Text: the caret shows on dark slides and in empty placeholders by @xc4pr in #321
- Morph: align an outline morph once per transition, not every frame by @alexanderalber in #67
- Export: PNG images (all slides) in the browser downloads every slide (#64) by @MarekSpodBiedry in #87
- Paste: Ctrl+V pastes an image-only clipboard as a picture (#53) by @MarekSpodBiedry in #88
- Morph: text boxes without a partner fade in place instead of moving (#119) by @alexanderalber in #136
- Morph: a picture cropped differently on the next slide morphs its crop (#118) by @alexanderalber in #137
- Charts: a single-series chart without an explicit title shows the series name as its automatic title (#142) by @MarekSpodBiedry in #150
- PPTX: SmartArt and OLE objects we can't draw keep their parts on save (#203) by @justinjohn0306 in #209
- Bidi: auto-detect RTL paragraph direction when typing Kurdish, Arabic and Hebrew by @Hevarh1 in #169
- Render: an unfilled shape's glow follows its line by @xmaks82 in #225
- UI: open presentations in the background with a progress window (#350) by @NikitkaRa in #488
- Format Shape: 3-D Format and 3-D Rotation controls by @NikitkaRa in #508
- Pictures: compress pictures to a target resolution by @NikitkaRa in #513
- Insert: Summary, Section and Slide Zoom with Return to Zoom by @NikitkaRa in #520
- Charts: keep the embedded workbook when a chart is saved unchanged (#335) by @NikitkaRa in #355
- Slides: reuse slides from another presentation by @NikitkaRa in #509
- Model: an exhausted id space refuses growth instead of duplicating ids (#407) by @albayazid in #438
- media: check the ASF object walk's arithmetic so hostile sizes cannot panic by @midasmatterhorn in #748
- Preferences: Cancel, Esc and the close button undo the dialog's changes (#752) by @switch87 in #757
- control: a request that timed out while queued is abandoned, never run late (#719) by @midasmatterhorn in #758
- text: a bare normAutofit draws at 100% and an edit stores the fitted scale (#724) by @midasmatterhorn in #759
- Render: a cropped picture keeps its resolution (Intersect no longer blurs it) by @switch87 in #768
- Preferences: Interface size applies when the slider is let go by @switch87 in #769
- Text: show gray list markers before typing by @hajdukste in #772
- Grow table merges to include merged areas they overlap by @Silvertree2010 in #773
- Slide: a new slide's body goes into the layout's content placeholder by @switch87 in #734
- Fonts: falling back to the default face no longer deadlocks by @xmaks82 in #738
- Add an editor screenshot to AppStream metadata by @IanHollow in #746
- MCP: validate reply IDs and bounded response frames (#718) by @MMexicann in #747
- media: walk ID3 tag chains iteratively so crafted files cannot overflow the stack by @midasmatterhorn in #749
- Text: anchorCtr centres the drawn text block - right-aligned text stayed glued to the box edge (#736) by @albayazid in #760
- ci: add comfortable runtime limits to unbounded jobs by @skylartaylor in #776
- Use the shared PDF writer and report font embedding failures by @skylartaylor in #708
- Reject shape ids beyond u32 in shape.connect, sites and points by @Silvertree2010 in #847
- Keep slide.duplicate copies next to their source in the section by @Silvertree2010 in #822
- ci: add shared Windows ARM64 and nix checks by @dylanmtaylor in #854
- Keep leading '-', '*' and '•' text when importing outlines by @Silvertree2010 in #797
- Don't paste HTML text as bold when sets font-weight:normal by @Silvertree2010 in #798
- Format: .txt and .md outline includes table cell text (#814) by @albayazid in #816
- Clamp huge index in table.insertRowBelow/insertColumnRight by @Silvertree2010 in #866
- Close the control port on the first line that isn't a request by @skylartaylor in #939
- PPTX: preserve separate click steps in trigger sequences by @MMexicann in #849
- Contributors: add Marco Arnulfo by @marcoarnulfo in #857
- Make edit.cut a no-op when only a text caret is set by @Silvertree2010 in #920
- Fix add overflow panic in table.columnWidth for a huge column index by @Silvertree2010 in #922
New Contributors- @albayazid made their first contribution in #460
- @Zetenypapp made their first contribution in #463
- @MMexicann made their first contribution in #587
- @lambertoo made their first contribution in #707
- @nagasakimark made their first contribution in #713
- @midasmatterhorn made their first contribution in #728
- @Silvertree2010 made their first contribution in #436
- @justinjohn0306 made their first contribution in #212
- @pierrevbc made their first contribution in #242
- @FabPei made their first contribution in #306
- @marcoarnulfo made their first contribution in #308
- @dotCooCoo made their first contribution in #351
- @natocool2 made their first contribution in #356
- @mikl0s made their first contribution in #95
- @itrycodinganditsbad made their first contribution in #176
- @Claudio911015 made their first contribution in #189
- @xmaks82 made their first contribution in #226
- @Momentum96 made their first contribution in #376
- @NikitkaRa made their first contribution in #597
- @isaac-levine made their first contribution in #191
- @Mathiasko made their first contribution in #168
- @RCShoemaker made their first contribution in #258
- @hoblin made their first contribution in #303
- @xc4pr made their first contribution in #321
- @Hevarh1 made their first contribution in #169
- @hajdukste made their first contribution in #772
- @IanHollow made their first contribution in #746
- @skylartaylor made their first contribution in #776
Full Changelog: v0.7.0...v0.8.0 |
Performance and Compatibility
DeckCraft is built with Rust and supports native desktop applications as well as browser-based use. Its architecture also separates presentation commands from the graphical interface, enabling headless automation and scripted workflows.
However, programming language alone does not establish real-world performance. Responsiveness will depend on the presentation's complexity, media content, hardware, and implementation maturity.
The most important limitation is that DeckCraft remains in early development. Although its feature list is extensive, its developers are still working toward the first alpha release. Some features may behave differently from PowerPoint, and compatibility with complicated existing presentations may be incomplete.
Users should test important PPTX files, animations, embedded media, and exported documents before adopting DeckCraft for professional presentations.
System Requirements
DeckCraft supports the following platforms:
Windows: 32-bit and 64-bit x86 systems, plus ARM64 devices where supported by the available builds.
macOS: Apple Silicon and Intel Macs through a universal application build.
Linux: x86-64 and ARM64 packages, depending on the distribution format.
FreeBSD: x86-64 builds.
Web: Modern browsers that support its browser-based application.
Running a prebuilt package is generally the simplest installation method. Building from source requires Rust development tooling, Cargo, Git, and the project's other build dependencies.
Linux developers compiling the application also need the appropriate ALSA development headers for slideshow audio support. The exact requirements depend on the operating system and whether users install a prebuilt package or compile the project themselves.
Pros and Cons
Pros
Free and open-source presentation software.
Supports opening and saving PowerPoint PPTX files.
Includes themes, layouts, shapes, charts, tables, and animations.
Offers slideshow and presenter-view functionality.
Exports presentations to PDF and image formats.
Provides CLI commands and MCP integration for AI-assisted automation.
Supports Windows, macOS, Linux, FreeBSD, and web browsers.
Available under the MIT or Apache-2.0 license.
Cons
Still in early development, with potential stability issues.
PowerPoint compatibility may be incomplete for complex presentations.
Some advanced presentation features may not behave identically to Microsoft PowerPoint.
Users may encounter rendering differences when importing existing files.
Building from source requires development tools and additional dependencies.
How to Install
Option 1: Download a Prebuilt Package
Visit the official DeckCraft GitHub repository.
Open the Releases section.
Download the package for your operating system and processor architecture.
Install or extract the downloaded package according to its format.
Launch DeckCraft and create a new presentation or open an existing PPTX file.
On Linux, available formats include AppImage, Flatpak, DEB, RPM, and compressed tar archives. Choose the format that best matches your distribution and installation preferences.
Option 2: Build from Source
Users who prefer compiling the application can build it with Rust and Cargo.
First, clone the repository:
git clone https://github.com/storytold/deckcraft
Enter the project directory:
cd deckcraft
Then run the documented command to build the CLI and render the included sample presentations:
cargo run --release -p deckcraft-cli -- render --sample --all --scale 1 out/
This command is useful for verifying the rendering workflow, but it is not the same as launching the graphical presentation editor.
Additional dependencies may be required, particularly on Linux. Consult the repository's build documentation for instructions specific to your platform.
Final Verdict
DeckCraft is an ambitious open-source PowerPoint alternative with an unusually broad feature set for a project still in early development. Its combination of presentation editing, PPTX support, animations, cross-platform distribution, and AI-driven automation makes it appealing to developers, open-source enthusiasts, and users looking for alternatives to proprietary office software.
The command-line interface and MCP integration are particularly noteworthy because they allow presentations to be generated and modified programmatically. This could make DeckCraft useful for automated reports and other workflows where presentations are produced repeatedly.
Its main weakness is maturity. A large feature list does not guarantee complete compatibility, reliability, or a polished experience across every platform. Users who depend on complex PowerPoint files should test their workflows before making the switch.
Overall, DeckCraft is worth watching and experimenting with, especially for users interested in open-source presentation tools and AI automation. However, its early development status makes it difficult to recommend as a complete replacement for Microsoft PowerPoint in critical production workflows.
Post a Comment/Report Broken Link: