HTML5 PDF Annotation Library

PSPDFKit for Web is a JavaScript library for creating, removing, and editing PDF annotations. It is fully compatible with HTML5 and offers developers a robust API for programmatic annotation management, as well as a beautiful UI for working with 17 PDF annotation types in any HTML5-based web app.

Launch Demo

PSPDFKit SDKs are deployed in some of the world’s most popular applications, such as those made by Autodesk, Disney, DocuSign, Dropbox, IBM, and Lufthansa.

Key Capabilities

  • 17 annotation types — Highlight, text, ink, note, shapes, and more

  • Create, edit, remove — Programmatically or by using the UI

  • Import and export — Manage annotations in XFDF or JSON files

  • Annotation events — Trigger workflows or automations

  • Cloudy annotations — Cloudy border effect

  • Custom appearances — Replace or enhance annotation rendering

  • Synchronize — To a server, multiple users, devices, or sessions

  • Customizable UI — Hide annotation types or create custom tooltips

  • Extendable — Add signing, editing, forms, and more

Guides for Annotation

What Are Annotations?
Learn about the basics of PDF annotations

Supported Annotation Types
Learn about the types of annotations supported by PSPDFKit

Annotation Data Formats
Learn about using external files to manage annotations

Geometry Primitives
Learn about the basic geometry data types exposed by PSPDFKit

Working with Annotations
Learn how PSPDFKit loads annotations

Synchronization Overview
Learn about the different approaches to annotation syncing

Storing Annotation Data
Learn best practices for storing annotation data

Concurrent User Conflict Resolution
Learn best practices for conflict resolution with concurrent users

Saving Annotations Overview
Learn the two ways PSPDFKit allows making changes to documents

Embed Annotations into the PDF
How to embed annotations into the PDF document

Save Annotations to External Storage
How to save annotations to external storage

Auto Save Annotations
How to configure the way changes are automatically saved

Import and Export using Server-Backed
How to import/export annotations using Server-Backed mode

Import and Export to/from Instant JSON
How to import/export annotations to/from Instant JSON

Import and Export to/from XFDF
How to import/export annotations to/from XFDF

Import and Export to/from a Database
How to import/export annotations to/from a database

Create an Annotation
How to create an annotation

Edit an Annotation
How to edit an annotation

Remove an Annotation
How to remove an annotation

Annotation Permissions
How to configure annotation editing permissions

Add an Image Annotation
How to add an image to a PDF as an annotation

Detect Changes to Annotations
How to detect annotation changes that originate from the UI

Annotation Flags
How to configure annotation behavior and capabilities

Annotation Author Name
How to configure the author name for annotations

Customize Annotation Display Logic
How to configure the logic used to display annotations in the viewer

Customize Appearance Streams
How to render existing appearance streams

Annotation Customization
How to create a custom annotation

Hiding Annotations
How to hide individual annotations or annotation types

Customize Default Properties
How to configure the default value for annotation properties

Store Custom Data in an Annotation
How to store and process custom data inside an annotation

Annotation Replies
Learn about displaying annotation replies as threaded conversations

Stamp a Document with Built-In Stamps
How to stamp a document programmatically or with the UI

Stamp Configuration
How to create a custom stamp

Flatten Annotations
How to flatten annotations and burn them into the PDF

Annotate on an Image
How to annotate a PNG, JPG, or TIFF

Image Document Specification
Learn how PNGs, JPGs, or TIFFs are annotated by PSPDFKit

PDF Actions Support
Learn about the PDF actions supported by PSPDFKit

Link Annotations
How to create, detect, and customize link annotations

Free Trial

Enjoy unlimited trial usage of all our products. Get guidance and tech support from developers who built the product, and get started within minutes.