Okular is very advanced multiplatform document reader built on the KDE framework. It is capable of opening numerous e-book and document file formats including PDF, Postscript, DjVu, CHM, XPS, EPUB and comic book formats (cbr/cbz). It will also open other text file formats like markdown (.md) files, MS Office .doc files and pure text (.txt) files. Okular is a overall great document reader but its very high memory use is a problem. It is available for GNU/Linux, Windows and macOS.
Features and Usability
Okular has all the features you would want from a document reader. You can set custom zoom levels or zoom-to-fit the active window. You can browse documents using thumbnails of the pages, add bookmarks to interesting pages and there is a "review" function for highlighting text, underlining text, adding notes and it is also possible to draw lines and other graphical elements.
Okulars biggest strength is its ability to open just about every e-book and document format. We are not aware of any commonly used document format it can't open.
Okular will remember where you left off if you close a document and re-open it. Okular does not have a specific function for opening web links yet it can, just open the file picker dialog and type in a URL to a ePub or PDF file and it will open in Okular. HTML is not supported so opening a web page in Okular will present the pages raw HTML code - not the rendered page.
Okular works great on all the common desktop environments - including Windows and macOS. It is written using the KDE framework but it does not require the KDE Plasma desktop environment or anything beyond the KDE libraries being present on the machine (You will have to compile them all if you want to install Okular on a freshly installed Gentoo Linux system).
Okular does not specifically support a "Night mode" yet it does have one. GNOME Document Viewer is is more usable in this regard as it has a simple one-click "Night mode" in its menu.▸ ▸ has an option to "Change colors". Enabling this option brings forth an option to change "Color mode". Documents can be converted to black and white, colors can be inverted and there is also an option for changing dark and light colors to user-configured colors. This setting is permanent and will apply to all documents. The
Okular supports text-to-speech, it supports reading individual pages or whole documents in very artificially sounding tin-can voice.
Quite Memory-Hungry By Default
Okular next to htop which is filtered to just show Okular so it's scandalous memory usage is clearly indicated.
Just opening a document in Okular will, by default, initially use a reasonable amount of memory. Okular uses about 240 megabytes of memory after opening a e-book of George Orwells classic 1984. Scrolling through it to the end and then back to the beginning rapidly increases memory (ab)usage. Okular will quite happily allocate and occupy 4+ GB of memory on high-memory machines after scrolling around in larger documents and it will happily eat 1.5 GB RAM on a machine with 4 GB total. The memory it occupies is not freed if Okular is minimized and left idle for hours.
Okulars memory use can be configured in▸ ▸ where "Memory Usage" can be set to "Low", "Normal" (Default), "Aggressive" or "Greedy". Setting it to "Low" on a high-memory machine restricts its memory use to around 300 MB. Changing Using low is a good idea if you have the habit of leaving windows open while you do something else. Okular holding 1.5 GB while idling in the background will in no way help performance on a machine with 4 GB in total.
Verdict and Conclusion
Okular is a overall very nice and easy to use document reader with the ability to open all the common document formats. It supports more file formats than any other document reader. That alone makes it a better universal document reader than any of the alternatives.
Okular checks all the boxes when it comes to features. Changing to a "Night Mode" with white text on a black background could be easier than going to its settings each time you want to switch. That aside, at least it has that feature and many more.
Okulars support for adding annotations, which it calls "Reviews", and notes to documents is the best there is. And clicking on one will actually take you to the part of the text where the note was made (Unlike GNOME Document Viewer).
Okulars by-default insane memory (ab)usage is a concern which can, as explained above, be fixed by changing its memory setting to "Low".
Okular is overall the best free software document reader available.
Okulars homepage is at okular.kde.org.
Worthwhile free software document readers:
|Program||framework||supported file formats||memory footprint|
|apvlv||GTK||PDF and "UMD"||260MB|
|GNOME Document Viewer||GTK/GNOME||PDF, PostScript, DjVu, XPS, DVi and comic book archives. No ePub support.||400MB|
|Okular||Qt/KDE||All of them. PDF, Postscript, DjVu, CHM, XPS, ePub, comic book archives and many more||configurable, insane (4.5GB+) by default, 300MB on "Low"|
|qpdfview||Qt||PDF, PS, DjVu. That's it. No ePub, no comic formats.||about 220MB|
|Zathura||girara||Plugins for PDF, PS, DjVu, comic book archives||about 700MB|
- Memory use after opening a .pdf e-book version of 1984 and scrolling to the end and back. Actual use will vary depending on what document you open; these values are mostly useful for comparing one reader with another.