Skip to content

impress.js

A JavaScript framework for making zoomable, 3D-style presentations in a web browser using CSS transforms.

Stars
38.2k
Forks
6.6k
Licence
MIT
Language
JavaScript
Last update
4 months ago
Type
Library

What it is

impress.js is a JavaScript framework for building presentations that run in a web browser. It uses CSS3 3D transforms and transitions to move between slides placed in a large canvas, inspired by the zoomable style of prezi.com. You write the presentation as HTML and CSS, and the library handles the movement between slides.

  • Build a zoomable presentation by placing slides at positions in 3D space in HTML
  • Start from the Classic Slides example to make a simple PowerPoint-style deck
  • Study the official demo's HTML and CSS to learn the features
  • Embed an animated presentation or animation in a web page, with the compatibility caveats the README notes

Great for

  • Web developers who want a custom, browser-based slide deck
  • Designers who want spatial, animated slide layouts
  • People presenting from their own laptop in a modern Firefox or Chrome browser
  • Anyone starting from the Classic Slides template for a traditional slide look

Not ideal for

  • People who need a point-and-click editor, since the README describes the separate Impressionist project for visual editing and does not describe a built-in editor
  • Anyone who needs reliable display for many visitors on older browsers, since the README says some visitors may not see presentations correctly
  • People who want a no-code tool, since the work is done in HTML, CSS and JavaScript
Step-by-step guide: how to use impress.jsInstall, first run, examples, tips and FAQs

How to get it

  1. 1

    Clone and build from source

    You'll need: Node.js 7.6 or newer (only needed for development and building) · npm (only needed for development and building)

    Clone the repository

    git clone --recursive https://github.com/impress/impress.js.git

    Enter the project folder

    cd impress.js
  2. 2

    Run it

    • Clone the repository, or link the v2.0.0 file from the CDN link in the README.
    • Open the official demo index.html or the Classic Slides example in a modern browser.
    • Follow the Getting Started guide to write your own HTML presentation.
    • Read DOCUMENTATION.md for the core API.
  3. 3

    Get the most out of it

    • Read DOCUMENTATION.md for the reference API and the plugin notes in src/plugins/README.md
    • Use the Classic Slides example as a template for a traditional slide layout
    • Look at the commented index.html demo to see the features in use
    • Check the wiki for community examples and tutorials, and the Impressionist project for a visual editor

Downloads

Strengths

  • Based on standard CSS3 transforms and transitions, with no jQuery or other JavaScript libraries required
  • Core is a single JavaScript file that does not depend on Node or npm at runtime, according to the README
  • Has a documented API reference, a Getting Started guide, and an official demo with commented source

Trade-offs

  • Browser support is limited to modern browsers, and the README says it is mainly aimed at presenting from your own laptop
  • The README says it may not help if you have nothing interesting to say, and it offers no visual editor in the core project

How it compares

ProjectStarsTypeLevelUpdatedBest for
impress.js (this)38.2kLibraryintermediate4 months agoWeb developers who want a custom, browser-based slide deck
reveal.js72.5kLibraryintermediate1 months agoDevelopers who already write HTML, CSS, or JavaScript and want full control over slide design
spectacle10.2kLibraryintermediate9 days agoReact developers who want to build slides as code
remark13kLibrarybeginner2.4 years agoPeople comfortable with HTML and CSS who want slides written in Markdown

Stats synced from GitHub. The assessment above was drafted with AI from the project's README on 2026-10-29 and may miss recent changes — check the README before relying on a command. MIT licence: free to use, modify and distribute, including commercially, as long as you keep the copyright notice.