PDF viewer
Zoom and pan with fit modes, deep-zoom detail rendering, text selection, full-text search, links, outlines, dark mode, and theming.
Flutter PDF SDK
dart_pdf_editor renders PDFs with no
PDFium and no platform views. The parser, content-stream interpreter, font engine, image decoders, and color
management are one engine that runs the same on iOS, Android, macOS, Windows, Linux, and Flutter web.
Apache-2.0, on pub.dev.
# Add the editor to your Flutter app
flutter pub add dart_pdf_editor
import 'package:dart_pdf_editor/dart_pdf_editor.dart'; // A complete PDF editor: viewer, tools, panels, undo/redo, save. PdfEditorView( bytes: pdfBytes, onSave: (bytes) => writeFile(bytes), ) // Or a view-only reader. PdfReader(bytes: pdfBytes)
Features
Viewing, annotating, forms, signing, redaction, page management, text editing, and OCR. In other words, the things apps actually license a PDF SDK for.
Zoom and pan with fit modes, deep-zoom detail rendering, text selection, full-text search, links, outlines, dark mode, and theming.
Markup, pressure-sensitive ink, shapes, callouts, notes, stamps, and measurement tools, all with generated appearance streams. Select, move, resize, rotate, copy/paste, undo/redo.
Fill AcroForm text, checkbox, radio, and choice fields with regenerated appearances. You can also author fields: create, rename, retype, delete, flatten.
Sign and validate up to PAdES B-LTA with RFC 3161 timestamps and long-term validation. Output validates in pyHanko, OpenSSL, and poppler.
True redaction per the PDF spec: covered text and images are removed from the file bytes, not painted over.
Rewrite existing page text in place with width-compensated metrics, and reflow whole paragraphs when the line count changes.
Reorder, delete, merge across documents, and split to new files, with drag-and-drop thumbnail UI included.
Pluggable engines add an invisible, selectable text layer to scans: on-device PP-OCR via ONNX, or any HTTP OCR service, including on Flutter web.
Encrypted files (RC4/AES), broken real-world PDFs, CCITT/JBIG2/JPEG 2000 images, and ICC color, with conformance pinned against the Ghent suite and the PDF.js test corpus.
Performance
On a real-world corpus of 49 files and 255 pages (CAD drawings, scans, reports, forms), the parse and content-stream interpreter runs about 1.9× faster than PDFium, the C++ engine Chrome uses. Full Flutter rasterization is currently about 2× slower end to end; the gap is image decoding and GPU raster, not the interpreter.
The benchmark harness diffs dart-pdf against PDFium file by file, so you can check the numbers yourself.
Scale 2, PDFium via pypdfium2. Methodology and per-file results in the repo's
benchmark/ directory.
Compare
Nutrient (formerly PSPDFKit) and Syncfusion are mature, well-supported commercial products. The difference is architecture and licensing: dart-pdf is one open-source Dart engine on every platform Flutter ships to.
| dart_pdf_editor | Nutrient (PSPDFKit) Flutter | Syncfusion Flutter PDF Viewer | |
|---|---|---|---|
| License | Apache-2.0, free and open source | Commercial, contact sales | Commercial or free community license |
| Flutter platforms | iOS, Android, macOS, Windows, Linux, Web | iOS, Android, Web | iOS, Android, macOS, Windows, Web |
| Rendering engine | Pure Dart, same engine everywhere | Native engine per platform | Native rendering; PDF.js on web |
| Annotations & forms | Yes, authoring + filling | Yes | Yes |
| Digital signatures | Sign + validate, PAdES up to B-LTA | Yes | Yes (via PDF library) |
| Source code | Open, on GitHub | Closed | Source-available with license |
Vendor capabilities summarized from their public documentation as of July 2026. Always check the vendors' current docs. No performance comparisons are made against commercial SDKs.
Packages
The Flutter widgets sit on three pure-Dart packages that run on the VM, in CLIs and servers, and on the web. There is no Flutter dependency below the widget layer.
dart_pdf_editor
Flutter PDF viewer and editing UI: PdfEditorView, PdfReader, tools, panels, forms, theming.
pdf_document
Document semantics: page tree, annotations, AcroForm, digital signatures, incremental-save editor.
pdf_graphics
Content-stream interpreter, font engine, ICC color, and text extraction. Renders to any device.
pdf_cos
The PDF file format itself: parser, filters, encryption, xref machinery, serializer, crypto.
pdf_ocr_ondevice
Optional on-device OCR engine: downloads a small PP-OCR model once, then runs offline.
pdf_ocr_vlm
Optional HTTP OCR engine for web, mobile, and desktop. Point it at any service that returns text boxes.