Prezi vs impress.js

  • 0

Prezi vs impress.js


By: Cristiano Plini – Founder of presentardoc –


This article is intended to share my direct experience on two technologies that can be used to create dynamic multidimensional presentations, using technique known as “pan and zoom”.

I have tried a product and a tool, the first is “Prezi” and the latter is “impress.js”.

More than giving any opinion, I would like to use this review as a pretext to start a discussion, so that we all can learn and take the best out of each product/tool.

The information in this article is updated at October 10, 2015.

Products & Tools

Calling Prezi a “product” and impress.js a “tool” is first of all not just a linguistic concern: a product is something (a SW in our case) that is commercially available, a tool is something (could be a SW, in our case a set of text program files in javascript and css) that is available for the benefit of the users.

prezi Prezi is a product, because there is a company that produces and sells it. This implies that Prezi as a company is committed to make its SW work as designed and advertised, and that will fix any bug with respect. Moreover, there will reasonably and supposedly be a constant evolution of features. Finally, I assume that it is in the interest of a company, that their product is easy to use, which is definitely the case of Prezi. You can count on these aspects (to some extent) also if you are entitled the regular free licence). For more information, please click on the pic aside.
Impress.js is a tool, because it is the fruit of a personal initiative of one or more passionate and smart people (I admit I did not investigate who and how many people, but it should be stated in the web). I understand that it is available for free, but you cannot complain if it does not work as you expect, or if it’s difficult to understand or use. Usually you can count on some help if you need, but this is because the creators of the tool are passionate about it, and want it to be popular and useful. Nevertheless, impress.js is intended for users who understand and like programming: ease of use or friendly user interfaces are not taken into consideration at least at the date I write this review. Click on the image aside for more information. impress

In the rest of this document, for the sake of simplicity, I will use the term “tool” and “product” interchangeably, for either of the two solutions.

This review: why and how

I wrote this review just because I spent time in comparing Prezi and impress.js, and I believe it is good practice to document it, at least just for the sake of recording.

I design presentation professionally, and I am of course interested in evaluating different technologies. I use Prezi extensively, and I wanted to understand how impress.js could widen the spectrum of possibilities.

At a first look, it is clear that Prezi is not really a 3D product, while the combination of HTML5, javascript and CSS really brings the third dimension into a presentation.

Nevertheless, Prezi presentations are easier to design and definitely much simpler to modify, especially when a customer requires last-minute changes.

For these and possibly other reasons, I did not feel that an extensive comparison of the two tools (if even possible) would make much sense: the use cases for each can be very different.

So, I restricted my comparison to a very specific case:

I decided to reproduce a Prezi presentation, using impress.js, and from there try to improve the new presentation, using impress.js capabilities, maintaining the nature of a presentation to be given at a congress.

You can find the two presentations together with this text.

Facts of the comparison

In theory, whatever I can do with Prezi, I can do with impress.js.

I highlighted “In theory”, because it takes much more time with impress.js.

I will list the differences that I found in the rest of this chapter:

Creating the presentation

Usability of the tool when creating a presentation

Prezi is definitely more usable, thanks to the graph builder (web or desktop) you really have a WYSIWYG effect (copying an old acronym taken from the past word processing and printing: What You See Is What You Get).

With impress.js you code the coordinates of your items, and then see in the html how it looks like, while with Prezi you really place it with the mouse on the canvas, and you see immediately how it looks like.

A positive point for impress.js is that you can position the items very precisely, while with Prezi it is difficult for example to distribute objects at the same distance from each other.

Technical feature of the tool to create a presentation

Impress.js is definitely more powerful, if you have the time to do it carefully.

With impress.js you can do anything you can do with Prezi plus many other things. The following is a list of things that I could note in favor of impress.js.

impress.js strength


Customize fonts at will (same limitation of a web page though)

(NOT THAT BAD) Prezi has a fixed set of fonts, but for the use of a presentation they are more than enough.

Customize style at will (same limitation of a web page though)

(NOT THAT BAD) Prezi has a limited style customization, but for a presentation it is enough.

Design practically infinite zoom and pan scale

(NOT THAT BAD) Only few times I found myself asking for more pan or zoom in Prezi, and I always could rearrange the presentation to fit in the canvas.

Define speed of pan and zoom with granularity of a millisecond (speed of transitions).

(NOT THAT BAD) I admit that even if granularity of a millisecond is not needed, Prezi lacks customization at all: the speed of transition between two frames is hardcoded in the SW.

Most of the times this is not really a limitation, though.

Autorun can be customized to have different timeout for each step, with granularity of a millisecond.

(QUITE BAD) I admit that even if granularity of a millisecond is not needed, Prezi has a limited choice: 4sec, 10sec, 20sec.

Moreover, each frame has the same timeout.

Animation allows you to make items appear, and also disappear.

(QUITE BAD) Prezi allows only to make items appear, then they are visible for the rest of the presentation.

With some css + javascrpt programming you can make items appear or disappear in areas of the canvas not currently visible (for example: you have an area with no items, then you pan or zoom away from that area, and when you return to it there are items that appeared meantime)

(NOT THAT BAD) Prezi can only animate the content of the frame that is currently visible (as said only making items appear).

Most of the times this is not really a need, though.

You can add some real 3D effect

(NOT THAT BAD) With Prezi you cannot. But you may not really need it.

Running the presentation

Both tools advance step by step with a mouse click, or pressing the right arrow key, and both walk backward by pressing the left arrow key.

Impress, being practically 100% customizable, could define different or more complex actions associated to keyboard or mouse events, but this does not sounds like a real need in most of the presentations.

Usability when running a presentation

Here Prezi looks superior to me. There are a number of unpredictable things that will occur when you are giving a presentation:

  • Less time to present
  • Questions from the audience that require to modify the sequence of the presentation
  • Points that were supposed to be just mentioned, and that need to be explained in detail instead
  • Whatever

With respect, Prezi allows you any action that you would do also with, plus the following:

prezi strength


Pan and zoom freely with the mouse, returning back to the predefined track with the arrow keys

(NOT THAT BAD) This can be done only with extra programming with impress.js. However, once you did it for a presentation, you can replicate to any future one.

Jump directly to a frame that is not sequentially next to the current one.

(QUITE BAD) This can be done only with extra programming with impress.js. But if you do it, chances are that you may geopardize some of the extra nice effects that you may have programmed and that are related to the predefined sequence…

Portability of the presentation

Both Prezi and impress.js produce portable presentations, that can be run on different platforms.

With Prezi, the default seems to be that the presentation is stored in Prezi servers, in your account space, and you can run it from there, in which case you can do it from any windows or linux or Mac, while for android and iOS tablets and phones you need the proper app.

You can export it to a portable format, which consists of a tree structure (initially created as zip file) that you can carry (pen drive or cloud) anywhere and run it on possibly any Windows or Mac. You do not need to install any product on the system where you plan to run a portable prezi. I read of a SW that allows to use portable Prezi on Linux, but haven’t tried it yet.

At the end Prezi can rightly be defined to be portable wherever you need.

Impress.js, instead, is actually an html page, that by mean of script files executes the graphic transitions of the presentation.

Therefore, you can upload that html plus scripts plus images to a server and browse it from any system connected to internet. Or you can copy it to a pen drive and open it from any system.

You need a reasonably recent version of an internet browser for that (MS edge or Internet expoler, Firefox, google chrome, Opera), but I would not call this really a requirement to worry…

Note: Both with MS edge (the new browser from Microsoft for windows 8 and later) and with google chrome, I had serious problems with the quality of the images of the impress.js page. Larger images show so blurry that the presentation is useless. So at present I need to ask the presenters to ensure they have firefox. Honestly, I suspect this can be solved with some more html programming, but still makes me believe that the portability of Prezi is stronger.

Publishing the presentation

You can embed your presentation in an html page, inside a frame element. This is equally easy to do with both Prezi and impress.js.

The following short table resumes my observations:



Publishing in a web page

No real difference between the two.

Browser compatibility

impress.js seems to work smoothly only with FireFox at least based on my current experience.

Prezi has no limitation (did not try safari on Mac though).

System compatibility – computers

No real difference between the two.

(did not try Mac though)

System compatibility – tablets and phones

I could not make it work for impress.js at least with my current knowledge of html programming.

Prezi app required (app store or google play) for android and iOS.

(did not try windows phones, blackberry or others than android)


I would keep on using Prezi for my professional presentations, because it grants me more security respect to portability, future developments, and support.

These are relevant aspects for a presentation designer, because there is no control nor predictability of the final environment where the presentation will be run: probably there will be a windows system with internet connection and firefox… but this is not granted at all.

Moreover, if the customer who ordered the presentation requires a last-minute change, and this is very often the case, then it is easier to do it with Prezi than impress.js (ok… powerpoint is even easier, but we are comparing pan&zoom tools here right?).

If the last-minute change is about reordering the sequence of topics, then impress.js may result impossible to adjust without starting from scratch.

Nevertheless, imprss.js is my recommended option when you want some special effects or specific animations.

Please also see the video that goes along with this artice, for a concrete demonstration of my findings.

Thanks for your time.


impress.js – automatic run – optimizado para firefox

Video comparativo (en inglés)

Leave a Reply