To turn reveal.js slides into an APK, download the reveal.js distribution (not the CDN), put your deck in index.html beside the dist/ and plugin/ folders, bundle any fonts and media, enable touch navigation, then ZIP and build. Slidev and Marp decks work the same way from their static HTML export.
Key takeaways
- Use the downloaded reveal.js package — the CDN version needs Wi-Fi at the venue.
- reveal.js supports swipe gestures out of the box; keep
touch: true. - Slidev (
slidev build --base ./) and Marp (--html) export static decks you can ZIP.
reveal.js
my-deck/
├── index.html ← your slides
├── dist/ ← reveal.css, reveal.js, theme/
├── plugin/ ← notes, highlight, …
└── media/<link rel="stylesheet" href="dist/reveal.css">
<link rel="stylesheet" href="dist/theme/white.css">
<script src="dist/reveal.js"></script>
<script>
Reveal.initialize({
hash: true, // each slide is a history entry → back button goes to the previous slide
touch: true, // swipe left/right between slides
controls: true,
progress: true,
width: 1280, height: 720
});
</script>hash: true gives each slide its own URL fragment, which also means Android's back button steps backwards through slides. Turn it off if you would rather back close the app.
Slidev and Marp
# Slidev — build with a relative base so assets resolve inside the app
npx slidev build --base ./
# Marp CLI — single HTML file
npx @marp-team/marp-cli slides.md -o index.html --htmlZIP Slidev's dist/ folder contents, or Marp's single file. Google Slides and PowerPoint exports to HTML are poor; export to PDF images or rebuild in one of these tools.
Trade-show and kiosk tips
- Choose landscape and full-screen when you build, so the deck fills a tablet edge to edge.
- Videos: bundle MP4 (H.264) files and see audio and video in an HTML app for autoplay rules.
- Add
autoSlide: 8000, loop: truefor an unattended loop on a stand. - Set a long screen timeout in Android's display settings for the demo tablet, or use the device's kiosk or screen-pinning mode so visitors cannot leave the deck.
Frequently asked questions
Can a PowerPoint become an Android app?
Not directly with good results. Export the slides as images and place them in an HTML slideshow, or rebuild the deck in reveal.js, Slidev or Marp, then convert it.
Will speaker notes work?
The reveal.js speaker view opens a second window, which is not practical on one phone. Keep notes on a separate device.