Create
Insert TrueType text, headings, bullets, code, images, emoji, shapes, connectors and new slides from the Insert tab.
KEYNOPE MANUAL / CURRENT RELEASE
Everything required to install, author, design, present, export, and automate a Keynope deck.
Keynope supports macOS 14 Sonoma or later on Intel and Apple silicon. For the native editor and automatic updates, install it from the Mac App Store:
Download on the Mac App Store ↗
You can also install the Mac app with Homebrew:
brew tap keynope/keynope
brew install --cask keynope
Upgrade an existing installation with:
brew update
brew upgrade --cask keynope
The web editor opens, edits, saves and presents Keynope decks without installing the Mac app.
Source builds require Go and Xcode Command Line Tools. From the repository root:
make app
open bin/Keynope.app
This creates the complete windowed application at bin/Keynope.app. Local builds are ad-hoc signed.
Open Keynope and choose New for the starter presentation or Open for an existing Markdown deck. New presentations stay in memory as Untitled until you save them, so you can begin designing before choosing a filename.
The workspace combines slide navigation, a visual canvas, contextual ribbon tabs and an inspector. Use the Play control to present, arrow keys or Space to advance, and the Info button whenever you need help.
Start with ordinary Markdown.
Select and position elements visually.
Use the native second-screen surface.
A deck remains a readable Markdown file. A line containing --- separates slides. Headings, paragraphs, lists, fenced code, Markdown images and Keynope metadata become selectable slide elements.
<!-- keynope width=160 height=45 -->
# Opening statement
The point you want remembered.
- Evidence one
- Evidence two
---
# Live code
```go
fmt.Println("hello, room")
```
The leading keynope width/height metadata records the canvas in which the deck was designed. Presentation surfaces and HTML export preserve these dimensions. Avoid removing it after you have positioned elements.

[Project repository](https://github.com/keynope/keynope)
Imported images and animated GIF frames can be embedded in the deck, keeping it self-contained. Use the editor for placement, cropping, masks, retro conversion, colour scaling, brightness, sharpness, layering and links; Keynope persists those choices as compact metadata.
Master definitions, layouts, speaker notes, activities, embedded assets, page-number policy, visual properties and exact placement are stored inside comments. They remain invisible to ordinary Markdown viewers. Prefer editing this metadata through Keynope rather than by hand.
Keynope’s editor is equally comfortable with mouse and keyboard. Click or Shift-drag to select elements, drag to move them, and double-click text or labelled shapes to edit their content. Contextual ribbon tabs expose only the tools relevant to the current selection.
Insert TrueType text, headings, bullets, code, images, emoji, shapes, connectors and new slides from the Insert tab.
Move, resize, rotate, crop and mask elements directly on the canvas. Text boxes control wrapping rather than scaling the font.
Choose modern or C64-inspired fonts, gradients, shadows, outlines, opacity, image treatments and retro render styles.
Align text inside its box or align the box itself. Group mixed selections, reorder layers and edit individual group members.
Use Cmd-Z and Cmd-Shift-Z for undo and redo. Copy, cut and paste elements with the standard macOS shortcuts. Save is enabled only when the in-memory deck differs from the file on disk.
Choose slides from the navigator, drag to reorder them, or move selected slides into the separate participant Tabs section. Tab slides are available online without appearing in presentation navigation.
The Slide inspector controls foreground, background, header colour, typography defaults, background patterns and animated effects. Each slide can inherit its master, override individual properties or explicitly disable them.
matrixstarsplasmaglitchdigital-snowradarneuralcircuitdata-stormflamewarpscanlinefireworksexplosion
soft-plasmaauroratopographywavesmeshconstellationribbonsdiagonal-flowblueprint
Text supports modern proportional and monospaced fonts alongside Keynope’s C64-inspired typeface. Images can stay photographic or be rendered as ASCII, blocks, braille or dense glyphs. Gradients, coloured shadows, outlines, transparency and rotation work across the visual system.
Use the M control to open Master View. A deck has one Base Master and any number of named layouts.
When a layout changes, Keynope rebinds matching content by placeholder slot and role. Content without a matching destination is retained as a local slide element.
The page-number control cycles inherit, show and hide. In Master View this controls Base or layout policy; on a slide it controls only that slide.
Add an activity to any slide from the Activities control. Participants join through keynope.sh/join using a short code or QR code, then stay connected through the presentation.
Use Pulse, Quiz, Fact or Fiction, Questions, Dot Voting and Nominate to collect decisions and reveal results.
Storm, Gallery Walk, Feedback Wall, Quick Draw and Introduction turn individual input into a shared result.
Pair Share, Playing Cards, Prerequisites, The Race and Deducer create balanced groups and private pairing channels.
Configure timers and anonymity, monitor participants, pause collection, reveal results, reopen completed work or reset an activity.
An Onboarding activity creates a persistent lobby with presentation following, participant chat, private messages and optional reference tabs. Activity results can remain embedded in the deck after the workshop.
Use the Play controls to present in the same window or on a connected external display. The editor retains slide navigation, speaker notes, timers, activity controls and other presenter-only tools.
| Control | Purpose |
|---|---|
| Space / → | Next page or slide |
| ← | Previous page or slide |
| Esc | Leave the active presentation or timer |
| Notes | Show editable notes below the canvas |
| Timer | Run locally or broadcast the countdown to participants |
| Cheat sheet | Show a presenter reference without making it part of normal slide navigation |
When a deck contains Onboarding, joined participants can follow the live slide in their browser. Starting an activity automatically moves their view to that activity; stopping presentation returns it to standby.
Choose Export to HTML and select a destination through the macOS save dialog. The exported file is standalone and includes navigation, fonts, effects, backgrounds, embedded imagery and the authored deck dimensions.
Open the result directly or serve it from any static host. Export does not modify the source deck.
The public projector accepts Markdown and returns standalone Keynope HTML.
curl --fail-with-body \
-H 'Content-Type: text/markdown' \
--data-binary @deck.md \
https://projector.keynope.sh/ \
--output deck.html
You can alternatively send JSON:
{"markdown":"# Hello from Keynope"}
| Method | POST |
|---|---|
| Content types | text/markdown, text/plain, application/json |
| Maximum input | 512 KiB |
| Persistence | None; temporary files are deleted after rendering |
| Output | text/html; charset=utf-8 |
Relative images cannot be included in a Markdown-only request because the API receives no companion files. Use already-rendered text content or host the finished export with its required assets.
The authoritative shortcut view is built into Keynope and adapts to the current mode and selection. These are the global essentials.
Confirm the display is connected and use the external-display Play control. macOS display arrangement determines which screen receives the presentation.
Keep the leading authored-size metadata in the deck and export with the current release.
Reimport referenced images so Keynope can embed them in the deck. The public renderer receives only the Markdown body and cannot access files on your Mac.
Check your internet connection, confirm an Onboarding session exists when you want a persistent lobby, and reset the session code if the room has expired.
Ask in Discussions. For reproducible defects, open a GitHub issue with your macOS version, architecture, Keynope version, steps, and a minimal deck.
Ideas, workflow feedback, presentation anecdotes, documentation improvements, bug reports, and code are welcome. Start broad proposals in Discussions and keep pull requests focused.
make test
make build