Skip to content
v1.4.0 A new look for Boozle

Auto-advancing PDF slideshows, without the bloat.

Boozle turns any PDF into a fullscreen, timed presentation. Use it for trade show booths, kiosks, lobby screens, Ignite talks, classrooms, and hands-free slide playback. No presentation suite. No browser workaround. No runtime to install.

Open sourceApache-2.0Built in GomacOS · Linux · Windows
Booth 14 · Hall B
Welcome to the future of signage.
--auto 5s
Every slide, on time.
--loop
Runs all day. No clicker.
One binary
Download. Run. Present.
01020304 / 0400:0504030201
boozle — booth displaylooping
$ boozle deck.pdf --auto 5s --loop --progress Loaded 4 slides · fullscreen · looping Auto-advancing every 5 s · press Q to quit

A PDF viewer is too passive.
A presentation suite is too much.

Sometimes you already have the slides exported as a PDF. You just need them to open fullscreen, advance on a timer, loop cleanly, and look sharp on the screen you choose.

Manual clicking gets old.Auto-advance your PDF every few seconds, minutes, or milliseconds — with a configurable interval per slide.

Generic PDF viewers are not presentation tools.Loop mode, progress overlays, page ranges, monitor selection, and slide overview are built for presenting — not reading.

Big presentation suites are overkill.Boozle is focused on one job — reliable fullscreen PDF playback. Download, run, present.

Features

Made for timed PDF presentations.

Everything a kiosk needs. Nothing it doesn’t.

Auto-Advance Timer

Set your PDF to move forward automatically. Any duration — seconds, minutes, or milliseconds via --auto.

Loop Mode

Perfect for booths, signage, kiosks, and lobby screens. Add --loop and the deck runs forever without a hiccup.

Per-Slide Config

Override timing per slide using a TOML sidecar file that lives next to the PDF. Important slides get more time; quick slides get less.

Progress Overlay

A segmented rainbow bar shows page position, current page, and auto-advance countdown. Enable it with --progress.

Slide Overview

Press Tab to reveal a thumbnail grid of all slides and jump to any page. With presenter view on, the grid opens on your screen only, so the audience never sees it.

HiDPI Support

Re-rasterises pages at native pixel density on Retina and 4K displays. Your PDFs look exactly as designed.

Cross-Platform

Native binaries for macOS (Intel & Apple Silicon), Linux (x86_64 & ARM64), and Windows. One tool for every screen.

Multi-Monitor

Choose the audience display with --monitor, or add a separate speaker display with --presenter-monitor, by index or by name like HDMI-1.

Presenter View

Open a speaker window with current slide, next preview, per-slide notes, clock, elapsed time, slide counter, and timer via --presenter-monitor. Notes come from TOML, .pdfpc, or PowerPoint.

PowerPoint Notes Import

Run boozle notes import deck.pptx once to extract speaker notes into a TOML sidecar. After that, present with only the PDF — the .pptx isn’t needed.

List Monitors

Run boozle --list-monitors (or -M) to print the index, name, size, and scale of every connected display, then pass the index or name to --monitor.

Slide Transitions

Use the default lateral push, cross-fade between pages, or cut instantly with --transition.

Single Binary

Download, run, present. No installer, no runtime, no package manager. Copy the binary and it just works.

pdfpc Compatible

Already use PDF Presenter Console? Boozle reads .pdfpc files directly: page order, hidden slides, and speaker notes carry over as-is.

Fast & Lean

Near-instant startup, renders off the UI thread, and memory bounded by a small GPU cache, not by deck length. Big decks stay smooth.

Install

Get Boozle.

Choose your platform. One command and you’re ready.

  • macOSApple Silicon · Intel
  • Linuxx86_64 · ARM64
  • Windowsx86_64

Verify any install with boozle --version.

Terminal
# Add the tap, then install
brew tap gethash/tap
brew install boozle

Homebrew keeps boozle up to date with brew upgrade.

Use Cases

Built for unattended screens.

Wherever a PDF needs to run itself, Boozle fits.

See all use cases

Trade Show Booth

Run your booth presentation all day from a PDF. Export the deck, start Boozle in fullscreen, and let it loop for the entire event.

boozle booth.pdf --auto 15s --loop --progress

Lobby Screen

Turn any display into a PDF signage screen — welcome messages, event schedules, announcements, or donor lists.

boozle lobby.pdf --auto 30s --loop

Kiosk Display

Museums, galleries, product displays, and information desks — a focused PDF viewer for kiosk-style playback on any screen.

boozle kiosk.pdf --auto 20s --loop --pages 1-12

Classroom / Demo

Teach or demo hands-free. Use auto-advance for pacing, pause when discussion starts, and pick up on the second monitor.

boozle lesson.pdf --auto 45s --monitor 1 --progress

Ignite Talk

20 slides, 15 seconds each, fully automated. Export your Ignite deck as a PDF and let Boozle handle the timing — no clicker needed.

boozle ignite.pdf --auto 15s --autoquit
Quick Start

Up and running in seconds.

A single command is all it takes.

Common commands
# Basic: advance every 30 seconds
boozle slides.pdf --auto 30s

# Loop forever with progress overlay
boozle slides.pdf --auto 30s --loop --progress

# Audience display on monitor 1, presenter view on monitor 0
boozle slides.pdf --auto 1m --monitor 1 --presenter-monitor 0

# Present only pages 3 to 9
boozle slides.pdf --auto 20s --pages 3-9

# Cross-fade between slides
boozle slides.pdf --transition fade

# List connected displays, then pick one by index or name
boozle --list-monitors
boozle slides.pdf --monitor HDMI-1 --presenter-monitor 0

# Extract PowerPoint speaker notes once into a sidecar
boozle notes import deck.pptx --out deck.boozle.toml
slides.boozle.toml — sidecar config
auto     = "30s"
loop     = true
progress = true
transition = "fade"
# presenter_monitor = 0

# Hold slide 3 for 2 minutes
[[page]]
n    = 3
auto = "2m"

# Quick slide — 10 seconds
[[page]]
n    = 7
auto = "10s"

# Speaker notes — shown in presenter view
[[page]]
n     = 5
notes = "Mention the rollout date. Pause for questions."

Keyboard controls

While a presentation is running
→/SpaceNext slide
←Previous slide
TabSlide overview
pPause / resume
fToggle fullscreen
bBlackout screen
wWhiteout screen
0–9+EnterJump to page (numpad too)
Home/EndFirst / last slide
q/EscQuit
Compare

The right tool for the job.

Boozle is not a slide editor. It’s what you use after your slides are already a PDF.

Full comparison
NeedBoozlePowerPoint / KeynoteGeneric PDF Viewer
Auto-advance a PDFBuilt-inRequires import / exportRarely supported
Loop fullscreen--loop flagPossible but heavyOften awkward
Per-slide timingTOML sidecarNative slide files onlyRare
Single command launchOne binaryNoSometimes
Monitor selection--monitor <N|name>Presenter mode onlyNo
Designed for kiosk loopsPrimary use casePartlyNo
Zero dependenciesStatic binaryFull install requiredOften requires runtime
FAQ

Common questions.

More in the documentation.

What is Boozle?
Boozle is a lightweight, open-source PDF presenter for fullscreen, timed, auto-advancing slideshows on macOS, Linux, and Windows. It runs as a single static binary with no installer or runtime required.
Can I auto-advance a PDF?
Yes. Use --auto with any duration (e.g. --auto 30s or --auto 2m) and Boozle will advance slides automatically at that interval.
Can I loop a PDF slideshow?
Yes. Add --loop and Boozle restarts from slide 1 after the last page. It runs indefinitely — ideal for kiosk displays and booth screens.
Does it work on macOS, Linux, and Windows?
Yes. Boozle provides native binaries for macOS (Intel and Apple Silicon), Linux (x86_64 and ARM64), and Windows. Install via Homebrew, shell script, PowerShell, or manual download.
Can I set different timings per page?
Yes. Create a .toml sidecar file next to your PDF with [[page]] entries specifying an n (page number) and auto override. The global default applies to all other pages.
Can I choose which monitor to use?
Yes. Use --monitor 1 (any display index) or --monitor HDMI-1 (a display name, or any unique part of it) to open the presentation on a specific connected display. Display 0 is the primary screen.
Is Boozle good for Ignite talks?
Boozle is ideal for Ignite talks. Set --auto 15s on a 20-slide PDF and it advances automatically every 15 seconds, running the full 5 minutes hands-free. Add --autoquit so it exits cleanly when the last slide is done.
Can Boozle import PowerPoint speaker notes?
Yes. Run boozle notes import deck.pptx once to extract speaker notes into a deck.boozle.toml sidecar. From then on you only need the PDF plus the sidecar at presentation time — the .pptx file isn’t needed. Old binary .ppt files should be converted to .pptx first.
How do I find the right monitor index?
Run boozle --list-monitors (or -M) to print the index, name, size, and scale of every connected display. Then pass the index or name you want to --monitor or --presenter-monitor. Names stay stable across reboots on macOS and Linux.
Can I reuse my pdfpc (PDF Presenter Console) files?
Yes. Boozle loads deck.pdfpc next to deck.pdf automatically, or any .pdfpc file passed with --config. It uses the page order, skips hidden slides, and shows the notes in presenter view. See pdfpc Sidecars.

Ready to run your PDF?

Download Boozle and have your first auto-advancing presentation running in under a minute.

Open source · Apache-2.0 · Zero dependencies