MauiNativePdfView - A Native PDF Viewer for .NET MAUI
- Michael Stonis
- Maui
- February 2, 2026
Table of Contents
MauiNativePdfView - A Native PDF Viewer for .NET MAUI
Overview
Displaying PDFs in mobile applications is a surprisingly common requirement. Whether it is user manuals, invoices, reports, or legal documents, chances are good that at some point in your app’s lifecycle you will need to show a PDF. In .NET MAUI, the typical approach has been to use a WebView and let the browser handle the rendering. While this works, it comes with its own set of challenges: performance issues with larger documents, limited control over the viewing experience, and the additional complexity of handling web-based solutions for what should be a native task.
This is exactly why I built MauiNativePdfView. It is a cross-platform PDF viewer that uses native platform controls under the hood. On iOS, it leverages Apple’s PDFKit framework, and on Android, it uses the AhmerPdfium library. The result is a viewer that feels fast and responsive without the overhead of a WebView.
Library
Source Code
Why Native?
The decision to go with native rendering was straightforward. WebView-based solutions have inherent limitations. They often struggle with large documents, lack fine-grained control over navigation and zoom behavior, and can feel sluggish compared to platform-native alternatives. By using PDFKit on iOS and AhmerPdfium on Android, MauiNativePdfView bypasses these issues entirely. There is no JavaScript, no web dependencies, just pure native rendering.
The performance benefits are noticeable. Scrolling through a 100+ page document feels smooth, memory management is handled by the native engines, and loading times are optimized by the platform itself. If you have ever tried to render a large PDF in a WebView and watched it stutter, you will appreciate the difference.
Why Free?
There are commercial PDF solutions available for .NET MAUI, and some of them are quite good. However, they often come with licensing costs that can be prohibitive, especially for smaller projects or independent developers. I wanted to provide an option that offers solid functionality without the financial barrier. MauiNativePdfView is MIT licensed, so you can use it in your commercial or personal projects without worrying about licensing fees.
Features
MauiNativePdfView provides a comprehensive feature set that covers most PDF viewing scenarios:
Multiple Loading Options Load PDFs from files, URLs, streams, byte arrays, or embedded assets. The library also supports automatic string conversion in XAML, so you can bind directly to a URL or file path.
Password Protection Full support for encrypted PDFs. Just pass the password when loading the document.
Zoom and Gestures Pinch-to-zoom and double-tap zoom work out of the box, with configurable minimum and maximum zoom levels.
Page Navigation Swipe between pages, programmatically navigate to specific pages, and track page changes through events.
Link Handling The viewer automatically detects and handles links within PDFs. You can also intercept link taps to implement custom behavior before navigation occurs.
Display Modes Choose between single page view or continuous scrolling, with support for both vertical and horizontal scroll orientations.
Annotation Rendering Toggle PDF annotations on and off. On iOS, you can even tap on annotations and receive detailed information about them.
Event System A comprehensive set of events for document lifecycle management, including document loaded, page changed, link tapped, general tap events, and error handling.
Getting Started
Adding MauiNativePdfView to your project is simple. Install the NuGet package, add the namespace to your XAML, and you are ready to display PDFs. The library uses a consistent API across both iOS and Android, so there is no need to write platform-specific code for basic functionality.
The source code repository includes a sample application that demonstrates the various features and configuration options. This is a good place to start if you want to see how everything works together.
Wrapping Up
If you need to display PDFs in your .NET MAUI application and want a solution that is native, performant, and free, give MauiNativePdfView a try. The library is actively maintained, and contributions are welcome. Check out the GitHub repository for full documentation, examples, and to report any issues you encounter.


