Secure PDF Viewer

50K+
Downloads
Content rating
Rated for 3+
Screenshot image
Screenshot image
Screenshot image
Screenshot image
Screenshot image
Screenshot image
Screenshot image
Screenshot image

About this app

Simple Android PDF viewer based on pdf.js and content providers. The app doesn't require any permissions. The PDF stream is fed into the sandboxed WebView without giving it access to the network, files, content providers or any other data.

Content-Security-Policy is used to enforce that the JavaScript and styling properties within the WebView are entirely static content from the APK assets along with blocking custom fonts since pdf.js handles rendering those itself.

It reuses the hardened Chromium rendering stack while only exposing a tiny subset of the attack surface compared to actual web content. The PDF rendering code itself is memory safe with dynamic code evaluation disabled, and even if an attacker did gain code execution by exploiting the underlying web rendering engine, they're within the Chromium renderer sandbox with less access than it would have within the browser.
Updated on
May 1, 2025

Data safety

Safety starts with understanding how developers collect and share your data. Data privacy and security practices may vary based on your use, region, and age. The developer provided this information and may update it over time.
No data shared with third parties
Learn more about how developers declare sharing
No data collected
Learn more about how developers declare collection
Committed to follow the Play Families Policy

What’s new

Notable changes in version 29:

• update CSS for recent pdf.js versions to fix major issues with text selection
• update pdf.js to 5.2.133
• automate obtaining the latest character maps, ICC profiles, standard fonts and WebAssembly files from the currently used pdf.js release instead of manually handling updates
• update esbuild to 0.25.3

See https://github.com/GrapheneOS/PdfViewer/releases/tag/29 for the full release notes.