---
title: "Detect unsaved changes in PDFs | Nutrient SDK"
canonical_url: "https://www.nutrient.io/guides/web/save-a-document/detect-unsaved-changes/"
md_url: "https://www.nutrient.io/guides/web/save-a-document/detect-unsaved-changes.md"
last_updated: "2026-06-08T19:21:59.312Z"
description: "Detect unsaved PDF changes in JavaScript with Nutrient Web SDK. Use hasUnsavedChanges and saveStateChange events to track document modifications and prompt users to save."
---

# Detecting unsaved changes in PDFs

You can check to see if there are any unsaved changes to a document by calling [`Instance#hasUnsavedChanges`](https://www.nutrient.io/api/web/NutrientViewer.Instance.html#hasUnsavedChanges).

If you wish to react to saved state changes, you can register listeners for the [`document.saveStateChange`](https://www.nutrient.io/api/web/NutrientViewer.Instance.html#~SaveStateChangeEvent) event. The emitted event contains the `hasUnsavedChanges` property, with the current value returned by the [`Instance#hasUnsavedChanges`](https://www.nutrient.io/api/web/NutrientViewer.Instance.html#hasUnsavedChanges) method:

```js

instance.addEventListener("document.saveStateChange", (event) => {
  console.log(`Save state changed: ${event.hasUnsavedChanges}`);
});

```
---

## Related pages

- [Auto-saving PDF changes in our JavaScript viewer](/guides/web/features/saving.md)
- [Enable incremental saving of PDFs using JavaScript](/guides/web/features/document-processing.md)
- [Save PDF files using JavaScript](/guides/web/save-a-document.md)
- [Save PDFs to an ArrayBuffer using JavaScript](/guides/web/save-a-document/to-arraybuffer.md)
- [Save documents as PDFs on the web](/guides/web/save-a-document/save-as.md)
- [Save PDFs to Document Engine using JavaScript](/guides/web/save-a-document/to-document-engine.md)
- [Save PDF without annotations using JavaScript](/guides/web/save-a-document/without-annotations.md)
- [Save PDFs to local storage using JavaScript](/guides/web/save-a-document/to-local-storage.md)
- [Save PDFs to a remote server using JavaScript](/guides/web/save-a-document/to-remote-server.md)

