Hubbry Logo
FBReaderFBReaderMain
Open search
FBReader
Community hub
FBReader
logo
8 pages, 0 posts
0 subscribers
Be the first to start a discussion here.
Be the first to start a discussion here.
Contribute something
FBReader
FBReader
from Wikipedia
FBReader
Stable release
3.1.4 / February 4, 2023; 2 years ago (2023-02-04)
Preview release
4.0 beta 45 / February 8, 2023; 2 years ago (2023-02-08)
Repository
Written inC++, Java, Swift
Operating systemCross-platform
Available inMultilingual
Typee-book reader
License
  • Linux: Formerly GPL;[1]
  • Android: GPL and commercial licenses formerly available.[2] Open-source versions are now discontinued, and it is only available under a proprietary license.
Websitefbreader.org

FBReader is an e-book reader for Linux, Microsoft Windows, Android, and other platforms.

It was originally written for the Sharp Zaurus and currently runs on many other mobile devices, like the Nokia Internet Tablets, as well as desktop computers. A preview of FBReaderJ (the Java port) for Google Android was released on April 13, 2008.

Supported formats include EPUB, FictionBook, HTML, plucker, PalmDoc, zTxt, TCR, CHM, RTF, OEB, mobi without DRM, and plain-text.[3]

A desktop version of FBreader

It has support for books with Readium LCP content protection.

It was formerly free software under the GPL, but since 2015 (v2.7) is proprietary software.[4]

History

[edit]

Nikolay Pultsin wrote the first FBReader; the tool was released for the Sharp Zaurus in January 2005, a Maemo port was added in December 2005 for the Nokia 770. FBReader has since had binary packages released for many mobile-device platforms and for most major personal computer operating systems.[5] The FBReader name with the FB prefix comes from FictionBook, an e-book format popular in Russia, the country of FBReader's author.[6]

The original FBReader was written in C++; however, in 2007[7] a fork called FBReaderJ was created, which was written in Java. As the Android platform became available in the following years, this fork became the codebase for the Android software application, while the C++ codebase remained in use for other platforms.[8]

In 2015 the software for all platforms became closed-source: the old open-source code hasn't been updated since. The Android app was split into Free and Premium versions, both closed-source, with the Premium version adding integrated support for PDF and for machine translation.[9]

Components

[edit]

For easy cross-platform compiling, FBReader uses zlibrary, a cross-platform interface library. It allows recompiling for many platforms while disregarding the GUI-toolkit used.

Features

[edit]
  • Support multiple book tar, ZIP, gzip and bzip2 archives.[10]
  • Encoding detection
  • Generates contents table
  • Embedded images
  • Hyperlinks
  • Position indicator (substitutes for page number).
  • Library building
  • Most recent book
  • Last read positions for all previously opened books
  • List of last opened books.
  • Automatic hyphenations
  • Text search.
  • Full-screen mode.
  • Screen rotation by 90, 180 and 270 degrees.
  • Text-to-speech

File format support

[edit]

FBReader supports the following file formats:[11]

  • EPUB : all the main features except the tables. CSS support is not complete.
  • EPUB3 : does not support most of EPUB 3 specific features
  • Mobipocket : opens non-encrypted *.mobi files. DRM-protected files are not supported.
  • FB 2.0 : fully supported
  • FB 2.1 : lacks support of tables
  • HTML : limited, sufficient support
  • Plain text : supported, might not correctly split text into paragraphs.
  • RTF : subset of RTF
  • DOC (Microsoft Word) : subset of DOC
  • PDF :
    • Android: via separate plugin with third-party library
    • Other platforms: not supported
  • DjVu :
    • Android: via separate plugin
    • Other platforms: not supported
  • Plucker :
    • Android: not supported at this moment
    • Other platforms: "absolute positioning" commands may be interpreted or ignored
  • DAISY 3 : added to Go Read for Bookshare on Google Play (a fork of FBReaderJ by Benetech)

Multi-platform support

[edit]

See also

[edit]

References

[edit]
[edit]
Revisions and contributorsEdit on WikipediaRead on Wikipedia
from Grokipedia
FBReader is a cross-platform e-book reader application originally developed by Nikolay Pultsin and first released in early 2005 for the PDA. It supports a wide range of formats, including (both unencrypted and protected with Readium LCP), fb2, mobi, book, RTF, and , using a lightweight, fast, and customizable parsing and rendering engine. With over 30 million installs, FBReader is available on , Android, Windows, macOS (requiring version 10.14 or later on and ), , and Chrome OS, enabling users to read DRM-free e-books and those secured via Readium LCP across devices. Key features include integration with for online storage, synchronization of libraries, reading positions, and bookmarks via the FBReader Book Network, as well as cloud-based collection management through OPDS access. In July 2007, Pultsin founded Geometer Plus LLC in St. Petersburg, , to further develop the software, which transitioned from open-source to a model in 2015 while offering an SDK for developers to build custom e-book readers. Geometer Plus ceased operations in 2022 due to the ; rights and ongoing development are now held by FBReader.ORG Limited, founded in 2013 in the United Kingdom.

History

Origins and Early Development

FBReader originated as an open-source project initiated by Russian developer Nikolay Pultsin in early 2005, with the primary goal of delivering a lightweight e-book reader for Linux-based personal digital assistants (PDAs) that operated without dependencies. This approach aligned with the open-source ethos prevalent in the community at the time, allowing for easy customization and distribution among users of resource-constrained devices. Pultsin's focus on simplicity and efficiency addressed the need for a dedicated reading tool on early mobile platforms, where existing options were limited or overly complex. The inaugural public version of FBReader launched in early 2005, tailored specifically for PDAs, which were among the most advanced handhelds available and featured Qtopia as their . served as the foundational platform, enabling Pultsin to test and refine core reading functionalities suited to small screens and modest hardware. Early development emphasized cross-platform potential from the outset, laying the groundwork for future adaptations while prioritizing essential e-book handling without unnecessary bloat. From its debut, FBReader supported basic formats such as FictionBook 2 (FB2), a structured XML-based standard popular in Russian digital literature, and files, reflecting an initial emphasis on accessible, non-proprietary content types that could be rendered efficiently on PDAs. In December 2005, Pultsin extended the software's reach with its first port to the operating system, making it available for Internet Tablets like the Nokia 770 and accelerating the project's trajectory toward multi-device compatibility.

Major Releases and Company Formation

In July 2007, Nikolay Pultsin established Geometer Plus LLC in St. Petersburg, , to commercialize and further develop FBReader, transitioning the project from its initial open-source roots into a structured business entity. This formation followed the software's early debut in 2005 for the PDA, enabling focused expansion amid growing demand for cross-platform e-book reading solutions. In 2013, Pultsin relocated to the and founded FBReader.ORG Limited, which took over development. Geometer Plus LLC ceased operations in 2022 following the . Under these entities, FBReader began offering premium editions and an SDK in the ensuing years, allowing third-party developers to integrate its rendering engine into custom applications, though the SDK saw its modern iteration formalized around 2019. Key platform releases marked FBReader's evolution into a multi-platform tool. The Android version launched in 2009, quickly gaining traction on mobile devices and establishing FBReader as a staple for e-book consumption on the platform. Desktop support expanded significantly from 2012 onward, with versions for Windows, macOS, and receiving iterative updates through 2015 to enhance compatibility and user features on personal computers. The iOS edition arrived later, debuting on the in September 2017 to reach and users. In the mid-2010s, FBReader shifted from fully open-source to a model featuring an open-source core supplemented by proprietary extensions, culminating in the discontinuation of open-source releases by 2015. This change supported premium monetization while maintaining core accessibility. Adoption of Readium LCP for occurred in 2024, certifying FBReader to handle protected ePub files across platforms and aligning with industry standards for secure lending and sales. Recent milestones underscore ongoing innovation through 2025. In autumn 2023, a major Android update introduced continuous text scrolling, improving readability for vertical navigation in long-form content. The February 2025 release of version 2.1.3 for Windows supports 64-bit architecture, ensuring compatibility with modern hardware on and 11. In October 2025, Android version 3.8.20 was released with improvements to the parsing engine. These updates, alongside steady platform expansions and format enhancements, reflect FBReader's adaptation to evolving user needs and technological landscapes up to the present.

Overview and Architecture

Core Engine and Components

FBReader's core functionality is powered by a custom cross-platform rendering engine designed for efficient handling of reflowable text and layout in formats. This engine, known as FBReader Core, leverages the , a cross-platform development that abstracts platform-specific details to enable seamless compilation and operation across desktop, mobile, and embedded systems. The engine emphasizes lightweight performance and customizability, allowing for optimized text reflow and rendering without relying on heavy external dependencies for core operations. Key components include format-specific parsers that process ebook files, such as those for and FB2, extracting structural elements like metadata, chapters, and styles for rendering. These parsers integrate directly with the core engine to convert parsed content into displayable layouts, supporting reflowable text adaptation to varying screen sizes and orientations. Additionally, FBReader employs a plugin architecture that enables modular extensions, allowing third-party developers to add support for specialized features without altering the base engine. The architecture promotes modularity by separating the from the core logic, facilitating easy to new platforms and integration into other applications. This design principle is evident in the FBReader SDK, a framework provided for developers to embed the engine into custom apps, offering an for book rendering, , and layout management. The SDK is distributed in binary form for Android and , with support for future updates and potential expansion to other platforms via C++ with Qt6.

User Interface Design

FBReader's emphasizes intuitive navigation and visual clarity, allowing users to interact seamlessly with their e-book collections across various platforms. The library view utilizes a tile-based layout that showcases books through thumbnails, paired with metadata displays such as titles, authors, and progress indicators, facilitating quick selection and organization. In the reading view, options include page-turn simulation to mimic physical book flipping, continuous scroll mode introduced in the October 2023 Android update for fluid vertical text progression, and switchable day/night modes to optimize contrast and reduce under varying lighting. Navigation incorporates gesture controls like swiping to advance or retreat pages and pinch-to-zoom for dynamic text scaling, complemented by keyboard support on desktop versions for precise control via customizable keybindings. Users access customization through intuitive settings panels, enabling selection of themes, adjustment of font sizes from a library of installed typefaces, and fine-tuning of margins to personalize the layout. Accessibility is enhanced with high-contrast themes for improved visibility, compatibility with mobile screen readers like TalkBack for voice-guided interaction, and configurable line spacing to accommodate diverse reading needs.

Features

Reading and Customization Options

FBReader enhances the reading experience through integrated text-to-speech (TTS) functionality, available in the Premium version on Android, which leverages the device's installed TTS engines such as Text-to-Speech for read-aloud playback. Users can initiate reading aloud from the menu, control playback with play/pause buttons, adjust speed and pitch via the control panel, and even continue listening in the background with the screen off. This feature supports text-based formats but excludes PDFs and , with manual selection available to improve accuracy. Recent updates in version 3.8 (as of 2025) added custom pronunciation substitutions and a for TTS playback. The application allows users to highlight text, add notes via selections, and create bookmarks by selecting passages and choosing the bookmark option from the popup menu, treating highlights as bookmarks without distinction. These annotations can be exported and synchronized across devices through the FBReader Book Network, an OPDS-compatible cloud service that enables access to bookmarks via web interface. Additional reading aids include orientation lock to maintain screen rotation during sessions, adjustable auto-scroll speeds for continuous vertical text scrolling introduced in version 4.0 beta (available as of May 2025), and lookup integration via built-in translators like or DeepL in the Premium edition for on-the-fly word or sentence translations. The DeepL integration received an update in September 2025. Customization options focus on optimizing text display and reflow for comfort, including selectable background colors and themes for day and night modes to reduce . Users can configure hyphenation rules based on book language metadata for natural word breaks, toggle auto-hyphenation in style settings, and apply justification algorithms to ensure even text alignment during reflow on various screen sizes. During reading sessions, FBReader supports seamless navigation to footnotes via hyperlink activation, which opens in a dedicated mode that can be closed with navigation controls, and quick access to the table of contents using keyboard shortcuts on desktop or menu options on mobile for efficient chapter jumping.

Library Management and Integration

FBReader enables users to manage local book collections by scanning specified folders on the device for supported files, automatically extracting and organizing metadata such as titles, authors, covers, and tags from the ebooks themselves. This process builds a centralized library database, allowing for efficient access without manual organization, and users can trigger rescans to update the collection after adding or moving files. Version 3.8.20 (October 2025) improved ePub parsing for better metadata handling. The application supports OPDS (Open Publication Distribution System) catalogs, enabling integration with online bookstores, public libraries, and personal servers to browse, search, and import ebooks directly into the local library. For instance, a dedicated plugin scans local networks for OPDS feeds, such as those provided by Calibre's content server, facilitating seamless access to remote collections without file transfers. Additionally, FBReader's own book network provides an OPDS endpoint for users' cloud-stored libraries, requiring Google authentication for secure access. Cloud synchronization is handled through the FBReader book network, a service that stores ebooks on and syncs reading progress, bookmarks, and custom shelves across devices like Android, , and desktop platforms. This allows users to maintain consistent library states, with automatic metadata extraction during uploads ensuring covers and details are readily available. Positions and progress are updated in real-time upon opening books on different devices. For broader collection management, FBReader supports import and export of libraries via standard formats like OPDS feeds and direct file transfers, with a Calibre plugin enabling automated uploads from the desktop manager to the book network for cross-device availability. This integration streamlines workflows for users maintaining large in Calibre, allowing ebooks to be pushed to mobile devices without manual intervention. Within the library, users can search for books and filter results by author, series, or genre based on extracted metadata, with options to sort by title, upload date, or reading status for quick navigation.

Supported Formats

Primary Text Formats

FBReader's primary text formats emphasize reflowable e-books, leveraging its custom parsing engine to convert content into an internal representation for consistent rendering across devices. The core formats include EPUB, FictionBook (FB2), MOBI/AZW3, plain text, HTML, and RTF, each handled through dedicated parsers that prioritize structure, styling, and metadata preservation where possible. EPUB serves as one of FBReader's flagship formats, with full support for 2 and partial support for 3 (including main features such as enhanced metadata, navigation documents, and multimedia elements like audio and video where hardware permits). The parser accommodates scripting in limited contexts, such as basic for interactive elements, though advanced 3-specific functionalities like advanced hyphenation or complex layouts may require user customization via the engine's options. This enables seamless reading of both unencrypted files and those protected by Readium LCP DRM, ensuring broad compatibility with modern digital libraries. FictionBook (FB2) is a native format for FBReader, originally developed for Russian e-book ecosystems, offering zipped variants (FB2.ZIP) for efficient storage without compromising accessibility. The dedicated parser fully preserves the XML-based structure, including sections, annotations, and binary resources, while rendering styles through CSS-like rules integrated into the internal reflow model. This results in high-fidelity display of hierarchical content, such as chapters and footnotes, making FB2 ideal for literature with embedded formatting. MOBI and AZW3 provide Kindle compatibility in FBReader, supporting non-DRM protected files from Amazon's ecosystem, including enhanced metadata like details and series information. The parser handles the container format underlying both, extracting text, images, and indexes while converting them to the app's reflowable layout, though tables receive partial support. AZW3 extends MOBI with improved and CSS3 elements, which FBReader renders via its engine for a smooth experience on reflowable text. For simpler inputs, and HTML undergo basic rendering in FBReader, with the parser applying CSS-like styling options for fonts, margins, and colors to enhance readability beyond raw display. Plain text files are processed directly into the reflow model, supporting encoding detection for multilingual content, while HTML benefits from partial tag support to maintain paragraphing and . RTF receives dedicated support through conversion to FBReader's internal reflow model, accommodating older e-book standards with basic structure preservation. RTF handling extracts formatted text while ignoring advanced stylesheets for consistent reflow. These ensure compatibility with archival or transitional e-books without requiring external tools.

Additional and Limited Formats

FBReader provides support for several secondary file formats, though with notable limitations in functionality and fidelity compared to its primary text-based formats. These include fixed-layout documents and legacy e-book types that may not render fully or require additional processing. PDF files can be viewed in FBReader on select platforms, such as Android via a dedicated plugin, offering basic zooming capabilities but lacking text reflow to adapt content to screen size. Rendering quality for PDFs varies by operating system and device, often resulting in suboptimal display for complex layouts or images due to the format's fixed nature. DjVu is supported on Android only, providing access to scanned document archives with compression for images and text layers, though reflow is not available and navigation depends on device capabilities. Comics in CBZ format are supported on desktops and Android, while CBR is supported on Android only; these fixed-layout formats allow viewing of image-based content like graphic novels, with zooming and panning but no text reflow. Other comic formats receive no support. MS Word documents in the legacy DOC format receive full support in FBReader across platforms, preserving structure and styling where possible. This support does not extend to the newer DOCX format. Regarding (DRM), FBReader does not support Adobe ADEPT or DRM schemes, preventing access to protected content in those systems. Instead, it integrates Readium LCP for DRM-protected files, allowing passphrase-based decryption on compatible platforms without requiring online .

Platform Support

Mobile Platforms

FBReader has been available for Android devices since 2009, with distribution through beginning around 2010. The app is offered in a edition alongside a premium version, which unlocks advanced features such as integrated and text-to-speech via in-app purchase. It supports a wide range of screen sizes, including optimizations for tablets through customizable layouts and brightness adjustments that enhance readability on larger displays. For iOS, FBReader was introduced on the in September 2017 and is compatible with 9.3 and later versions. The app includes synchronization for library and reading progress across devices, enabling seamless continuity for users. It maintains a design suitable for and , with regular compatibility updates for new releases. Support extends to other mobile platforms, including ports for Kindle Fire available via the , which allow reading of compatible ebook formats on these devices. Legacy versions exist for obsolete systems like and (including ), though these are no longer maintained or updated. Mobile-specific enhancements in FBReader prioritize efficiency and on handheld devices. The rendering engine is lightweight and fast, contributing to battery-efficient performance during extended reading sessions. Touch gestures enable intuitive , such as swiping along the screen edge to adjust or turning pages with finger taps. Full offline functionality ensures access to downloaded books without connectivity. Updates for Android and versions occur regularly, with releases aligning to major OS updates and featuring improvements like enhanced file access and stability fixes; as of 2025, the Android app reached version 3.8.20, and iOS version 1.11.1.

Desktop and Other Platforms

FBReader provides native applications for desktop operating systems, tailored for larger screens and productivity workflows. The Windows version supports 64-bit x86 processors ( and ) on (build 17763 and higher) and , with availability through the and direct downloads from the official site. It has been distributed in this form since at least the early , with version 2.1.3 released on February 15, 2025, enhancing overall stability and Readium LCP DRM support for protected ePub files, though PDF handling remains unsupported without additional plugins. For macOS, FBReader requires version 10.14 or higher and runs on both and architectures, distributed via the or direct downloads. The application integrates seamlessly with desktop environments, including s for navigation and system-wide shortcuts. On , cross-platform builds are available as packages for x86_64 and architectures, alongside Snap packages for Ubuntu-based distributions and RPMs for recent versions (e.g., 41 and later), enabling easy installation across major distros without deep system integration dependencies. These builds also feature full desktop integration, such as support and compatibility with standard window managers. FBReader is also available on Chrome OS, primarily through the Android app via the Google Play Store or as a web-based option for limited functionality. Beyond major desktops, FBReader has experimental web-based implementations for browser embedding, allowing limited ebook viewing in web environments via third-party cloud services like rollApp. Support for obsolete platforms, including the Sharp Zaurus PDA—where FBReader originated in early 2005—has been archived, with historical versions preserved for legacy devices but no longer actively maintained. Desktop versions emphasize optimizations for non-mobile use, including multi-book mode for simultaneous viewing of multiple documents, extensive keyboard shortcuts (e.g., Ctrl+F for search, Ctrl+B for bookmarks, and or for page turning), and compatibility with external monitors for extended reading sessions. These features enhance productivity on larger displays, contrasting with touch-centric mobile interfaces. FBReader is free for personal use across all desktop platforms. For commercial applications, developers can license the FBReader SDK, a for building custom readers on desktop and other systems.

References

Add your contribution
Related Hubs
Contribute something
User Avatar
No comments yet.