Nutrient Flutter SDK

Add PDF annotations to your Flutter app

  • 17+ annotation types — highlights, ink, shapes, notes, stamps, free text, images, and more
  • Create annotations through the built-in toolbar or programmatically from Dart code
  • Import and export as Instant JSON (all platforms) or XFDF (iOS)
  • Flatten, embed, or remove annotations when saving — auto-save or manual control

Need pricing or implementation help? Talk to Sales.

PDF ANNOTATIONS IN FLUTTER

// Add a highlight annotation programmatically.
final highlight = HighlightAnnotation(
pageIndex: 0,
rects: [Rect.fromLTWH(50, 50, 200, 20)],
color: Colors.yellow,
opacity: 0.5,
);
await controller.addAnnotation(highlight);

USE CASES

When developers reach for this SDK

Document review and markup

Users need to highlight passages, add sticky notes, and draw on PDFs. The SDK provides 17+ annotation types with a ready-made toolbar — or the ability to create annotations programmatically from Dart code.

Synchronize annotations across platforms

Annotations created in Flutter need to appear on web or other native clients. Export as Instant JSON for cross-platform synchronization, or use XFDF for Adobe Acrobat compatibility on iOS.

Annotate images and scanned documents

The SDK supports annotations on image documents (PNG, JPG, TIFF) in addition to PDFs. Annotation data is stored as XMP metadata embedded in the image file.

Prepopulate annotations from backend data

Import annotations from Instant JSON payloads returned by your server. Useful for loading review comments, preplaced stamps, or approval signatures before a user opens the document.

PDF annotation capabilities for Flutter

Create and edit annotations

Add annotations through the built-in toolbar or programmatically. Update properties like color, opacity, line width, and bounding box with immutable update methods.


  • Highlights, underlines, strikeouts, and squiggles
  • Ink, shapes, free text, stamps, notes, and images
  • Set annotation flags: hidden, locked, readOnly, print

Import and export annotations

Move annotation data between platforms using Instant JSON (all platforms) or XFDF (iOS). Import from server payloads or export for external processing.


  • Instant JSON: compact format for cross-platform synchronization
  • XFDF: ISO standard, Adobe Acrobat compatible (iOS)
  • Import annotations from server-side payloads

Save, flatten, and embed

Control how annotations are persisted. Auto-save on background events, save manually, flatten into page content, embed permanently, or remove entirely.


  • Auto-save triggers on background and configuration changes
  • Flatten annotations into page content permanently
  • Embed or remove annotations on save

Toolbar customization

Configure which annotation tools appear in the toolbar. Group annotation types and set preset configurations for colors, sizes, and styles per annotation type.


  • Customize annotation toolbar grouping
  • Preset colors, line widths, and styles per type
  • Enable or disable annotation editing globally


ADVANCED CAPABILITIES

Beyond basic annotation

The SDK handles more than adding markup. Control annotation flags, set author names, update properties with immutable methods, annotate image files, and manage save behavior — all from a single Dart API that works across iOS, Android, and web.

Illustration of PDF annotation and collaboration features
Annotation flags

Control visibility and behavior per annotation with flags: hidden, print, locked, lockedContents, and readOnly. Set them programmatically when creating or updating annotations.


Image document annotations

Annotate PNG, JPG, and TIFF files in addition to PDFs. Annotation data is stored as XMP metadata embedded in the image file.


Immutable property updates

Update annotation properties using immutable withX() methods that return a new annotation instance. Pass the updated annotation back to the controller to apply changes.


Author name tracking

Set the author name on annotations programmatically. Useful for multiuser review workflows where you need to track who created each annotation.


Frequently asked questions

How do I add PDF annotations in Flutter?

Enable annotation editing in your configuration. Then either let users create annotations through the built-in toolbar, or add them programmatically by constructing annotation objects and passing them to the controller. The SDK supports 17+ types, including highlights, ink, shapes, notes, stamps, and images. See the programmatic annotations guide.

What annotation types does the Flutter SDK support?

The SDK supports highlight, underline, strikeout, squiggly, ink (drawing), free text, note (sticky notes), stamp, image, rectangle, ellipse, line, polygon, and link annotations. Each type has a corresponding Dart class with type-specific properties. See the annotation types guide.

How do I export annotations from Flutter?

Use Instant JSON to export annotations on all platforms — it produces a compact payload with built-in diff support, ideal for cross-platform synchronization. On iOS, you can also export as XFDF, which is an ISO standard format compatible with Adobe Acrobat. See the Instant JSON guide.

How do I flatten annotations into a PDF in Flutter?

Use the process annotations method with the flatten mode. This burns annotations into the page content permanently — they become part of the PDF and can no longer be edited. Other modes include embed (permanent but separate), remove (delete all), and print. See the flatten guide.

Can I annotate images (PNG, JPG, TIFF) in Flutter?

Yes. The SDK supports annotations on image documents in addition to PDFs. Annotation data is stored as XMP metadata embedded in the image file. The same annotation types and programmatic API work on image documents. See the image annotations guide.

How does auto-save work for annotations in Flutter?

Auto-save triggers when the app goes to the background, when configuration changes occur, when the view is covered by another screen, and after digital signing. You can disable auto-save and control saving manually for review-then-save workflows. See the auto-save guide.

How do I customize the annotation toolbar in Flutter?

Configure the annotation toolbar grouping to control which tools appear and how they’re organized. Set preset configurations per annotation type to define default colors, line widths, and styles. See the annotation toolbar guide.

Do Flutter annotations work on iOS, Android, and web?

Yes. Annotation creation, editing, and removal work on all three platforms through the same Dart API. Instant JSON import/export works on all platforms. XFDF import/export is currently available on iOS. See the annotations overview.


FREE TRIAL

Ready to get started?

Add PDF annotations to your Flutter app in minutes — 17+ types, built-in toolbar, and programmatic API. No payment information required.