---
title: "Adding sticky note annotations to a PDF document | Nutrient Python SDK"
canonical_url: "https://www.nutrient.io/guides/python/editor/add-sticky-note-annotations-to-pdf/"
md_url: "https://www.nutrient.io/guides/python/editor/add-sticky-note-annotations-to-pdf.md"
last_updated: "2026-06-09T10:32:42.848Z"
description: "How to add sticky note annotations to a PDF using Nutrient Python SDK."
---

# Adding sticky note annotations to a PDF document

Use sticky note annotations to add comment markers to PDF files.

Common use cases include:

- Review workflows

- Team feedback and commenting systems

- Quality assurance notes

- Collaborative document editing

Sticky notes appear as icons on the page. Users can open each icon to read the full comment text.

[Download sample](https://www.nutrient.io/downloads/samples/python/add-sticky-note-annotations-to-pdf.zip)

## How Nutrient helps

Nutrient Python SDK handles sticky note annotation structures and appearance generation.

The SDK handles:

- Text annotation dictionaries and popup configuration

- Sticky note icon styles and appearance states

- Author metadata and timestamp formatting

- Popup positioning and content rendering

## Complete implementation

This example adds sticky note annotations with different colors:

```python

from nutrient_sdk import Document
from nutrient_sdk import PdfEditor
from nutrient_sdk import Color
from nutrient_sdk import NutrientException

```

## Working with sticky note annotations

Open the document in a [context manager](https://docs.python.org/3/reference/datamodel.html#context-managers) so resources are cleaned up after processing.

Then:

- Create a PDF editor.

- Get the page collection.

- Add a letter-size page (`612 × 792`) if the document is empty.

- Get the annotation collection from the first page.

```python

def main():
    try:
        with Document.open("input.pdf") as document:
            editor = PdfEditor.edit(document)
            pages = editor.page_collection

            if pages.count == 0:
                pages.add(612.0, 792.0)

            page = pages.first
            annotations = page.annotation_collection

```

## Adding a sticky note annotation

Add a note with `add_sticky_note(x, y, author, subject, contents)`.

In this sample:

- The position is `(100, 700)`.

- The metadata includes author and subject.

- The contents store the full comment text.

- The default note color is yellow.

```python

            sticky_note = annotations.add_sticky_note(
                100.0, 700.0,
                "Review Author",
                "Review Comment",
                "This section needs clarification. Please add more details about the implementation."
            )

```

## Adding multiple sticky notes

Add multiple notes and use color to indicate status.

This sample:

- Adds an urgent note at `(100, 600)` and sets it to red

- Adds an approval note at `(100, 500)` and sets it to green

- Uses vertical spacing to prevent icon overlap

```python

            urgent_note = annotations.add_sticky_note(
                100.0, 600.0,
                "Reviewer",
                "Urgent",
                "This issue must be addressed before release."
            )
            # Optionally customize the color

            urgent_note.color = Color.from_argb(255, 255, 0, 0)

            approval_note = annotations.add_sticky_note(
                100.0, 500.0,
                "Approver",
                "Approved",
                "This section looks good."
            )
            # Optionally customize the color

            approval_note.color = Color.from_argb(255, 0, 255, 0)

```

## Saving the document

Save the output PDF and close the editor.

The `except` block catches `NutrientException` if processing fails:

```python

            editor.save_as("output.pdf")
            editor.close()
    except NutrientException as e:
        print(f"Error: {e}")

if __name__ == "__main__":
    main()

```

## Conclusion

Use this workflow to add sticky note annotations:

1. Open the document using a [context manager](https://docs.python.org/3/reference/datamodel.html#context-managers) for automatic resource cleanup.

2. Create an editor and access the page collection.

3. Ensure at least one page exists by adding a letter-size page if needed.

4. Retrieve the annotation collection from the target page.

5. Add sticky note annotations with coordinates, author, subject, and contents using `add_sticky_note()`.

6. Sticky notes appear as compact icons that expand into popup windows when clicked.

7. Customize colors using the `color` property with ARGB values for color categorization.

8. Use 100-point vertical spacing between annotations to prevent icon overlap.

9. Implement color categorization workflows (red for urgent, green for approved, yellow for standard).

10. Save and close the editor.

For related annotation workflows, refer to the [Python SDK annotation guides](https://www.nutrient.io/guides/python/editor.md).
---

## Related pages

- [Adding a custom page to a PDF document](/guides/python/editor/add-custom-page-to-pdf.md)
- [Adding annotations to a PDF document](/guides/python/editor/add-annotations-to-pdf.md)
- [Adding invisible digital signatures to a PDF document](/guides/python/editor/add-invisible-signature-to-pdf.md)
- [Adding interactive form fields to a PDF document](/guides/python/editor/add-form-fields-to-pdf.md)
- [Adding free text annotations to a PDF document](/guides/python/editor/add-freetext-annotations-to-pdf.md)
- [Adding link annotations to a PDF document](/guides/python/editor/add-link-annotations-to-pdf.md)
- [Adding redaction annotations to a PDF document](/guides/python/editor/add-redaction-annotations-to-pdf.md)
- [Adding shape annotations to a PDF document](/guides/python/editor/add-shape-annotations-to-pdf.md)
- [Adding stamp annotations to a PDF document](/guides/python/editor/add-stamp-annotations-to-pdf.md)
- [Adding text markup annotations to a PDF document](/guides/python/editor/add-text-markup-annotations-to-pdf.md)
- [Advanced digital signature workflows](/guides/python/editor/advanced-digital-signatures.md)
- [Adding visible digital signatures to a PDF document](/guides/python/editor/add-visible-signature-to-pdf.md)
- [Detecting and adding form fields to a PDF document](/guides/python/editor/detect-and-add-form-fields.md)
- [Editing PDF form fields](/guides/python/editor/editing-pdf-form-fields.md)
- [Editing PDF metadata with Nutrient Python SDK](/guides/python/editor/editing-pdf-metadata.md)
- [Managing PDF page order](/guides/python/editor/manage-pdf-page-order.md)
- [Merging PDFs](/guides/python/editor/merge-pdf-into-other-pdf.md)
- [Nutrient Python SDK editor guides](/guides/python/editor.md)
- [Filling PDF form fields](/guides/python/editor/fill-pdf-form.md)

