# JavaScript PDF signature library

Nutrient Web SDK, a versatile JavaScript library, enables secure electronic and digital signatures on PDF documents. Developers can use our APIs to create, validate, and display digitally signed PDFs. Additionally, Nutrient Web SDK provides an intuitive user interface (UI) for hand-drawn electronic signatures, enhancing user experience.

[Try for free](https://www.nutrient.io/sdk/web/getting-started.md)

[Launch demo](https://www.nutrient.io/demo/signatures)

## Limitations and known issues

- **Certificate requirements**: Digital signatures require a valid signing certificate and private key (P12/PFX) with a trusted chain; issuing and storing certificates is outside the SDK.

- **Signature standards**: Supports common PDF standards like PKCS#7 and PAdES; specialized national profiles may require server-side signing.

- **Browser crypto**: WebCrypto support and key storage vary by browser; hardware tokens and some algorithms require server-side signing.

For detailed workarounds, see [troubleshooting](https://www.nutrient.io/guides/web/troubleshoot.md).

## Introduction to signatures

Nutrient Web SDK streamlines paperless signing workflows with its [Electronic Signatures](https://www.nutrient.io/sdk/solutions/signing/) and [Digital Signatures](https://www.nutrient.io/sdk/solutions/signing/) components. These two components are available separately and function independently. An electronic signature allows users to sign documents or data electronically, while a digital signature leverages advanced cryptographic techniques to add an extra layer of security to electronically signed documents, ensuring document integrity and authenticity.

[Learn more](https://www.nutrient.io/guides/web/signatures/overview.md)

## Electronic signatures

---

**Add an ink electronic signature**

Learn how to easily add an electronic signature (eSignature) to a PDF document

[Read more](https://www.nutrient.io/guides/web/signatures/adding-an-electronic-signature.md)

---

**Electronic signature storage**

Discover how to implement a secure mechanism for storing electronic signatures for future use

[Read more](https://www.nutrient.io/guides/web/signatures/signature-storage.md)

---

**Electronically sign with a certificate**

Combine electronic signatures and digital signatures for enhanced security and compliance when signing documents

[Read more](https://www.nutrient.io/guides/web/signatures/using-electronic-signatures-and-digital-signatures-together.md)

## Digital signatures

---

**Supported digital signature methods**

Explore the various digital signing methods and algorithms supported for secure PDF signing

[Read more](https://www.nutrient.io/guides/web/digital-signatures/introduction-to-digital-signatures.md)

---

**Generate a certificate**

Learn how to generate a self-signed certificate for testing purposes when using digital signatures

[Read more](https://www.nutrient.io/guides/web/signatures/digital-signatures/signature-lifecycle/prepare-the-certificates-for-signing.md)

---

**Add a digital signature**

Step-by-step guide on how to add a digital signature to a PDF document for enhanced security

[Read more](https://www.nutrient.io/guides/web/signatures/digital-signatures/signature-lifecycle/sign-a-pdf-document.md)

---

**Validate digital signatures**

How to validate digital signatures to ensure authenticity and integrity of a signed document

[Read more](https://www.nutrient.io/guides/web/signatures/digital-signatures/signature-lifecycle/validation.md)

---

**Headless signing**

Discover how to digitally sign PDFs without displaying the UI, making the process seamless in automated workflows

[Read more](https://www.nutrient.io/guides/web/signatures/headless.md)

## Combine with forms

---

**Add a signature field**

Learn how to programmatically add signature form fields to a PDF document for seamless digital signing

[Read more](https://www.nutrient.io/guides/web/signatures/digital-signatures/signature-lifecycle/add-a-signature-field.md)

---

**Fill and sign forms**

Step-by-step guide on how to programmatically or manually fill and sign forms in a PDF, enhancing document interactivity and security

[Read more](https://www.nutrient.io/guides/web/signatures/fill-and-sign-forms.md)

## Supported frameworks

Nutrient Web SDK exhibits broad compatibility across a spectrum of JavaScript frameworks, encompassing popular choices such as React, Angular, Vue.js, Svelte,  Blazor, Next.js, TypeScript, and Nuxt.js. Furthermore, it seamlessly integrates with server-side technologies including ASP.NET, PHP, Laravel, and standard HTML5. Its framework-agnostic design relies solely on the presence of a DOM container for viewer instantiation, a requirement readily met by virtually any modern development framework.

## FAQ

#### What types of signatures can I add to a PDF with this library?

You can add electronic signatures, encrypted certificate-based digital signatures, or a combination of both, resulting in comprehensive signing capabilities.

#### Can I validate signatures within my app?

Absolutely! Nutrient Web SDK allows you to validate certificates and signatures directly within your app for enhanced security.

#### Is server-side processing required for signing PDFs?

No, all signing processes are fully client-side, allowing you to sign PDFs directly in the browser without needing server-side processing.

#### Can I store electronic signatures for reuse?

Yes, you can store electronic signatures either locally or remotely, making it easy to reuse them for future PDF signing tasks.

#### Is the signature UI customizable?

Yes, the signature UI is fully customizable, allowing you to seamlessly adjust it to match your application’s design, workflow, and branding.

**Call to Action**

Start your free trial for unlimited access and expert support.

[Learn More](https://www.nutrient.io/sdk/web/getting-started/other-frameworks/javascript.md)
---

## Related pages

- [Headless PDF digital signing](/guides/web/signatures/headless.md)
- [Fill and sign PDF forms using JavaScript](/guides/web/signatures/fill-and-sign-forms.md)
- [Signatures](/guides/web/features/signatures.md)
- [Understand digital and electronic signatures](/guides/web/signatures/overview.md)

## Pages in this section

- [Digital signature architecture](/guides/web/signatures/digital-signatures/architectures.md)
- [Understanding digital signatures and their importance](/guides/web/signatures/digital-signatures/overview.md)
- [Understanding PAdES and CAdES digital signatures](/guides/web/signatures/digital-signatures/standards.md)
- [Supported cryptographic formats](/guides/web/digital-signatures/introduction-to-digital-signatures.md)
- [Troubleshoot common digital signature issues](/guides/web/signatures/digital-signatures/troubleshooting.md)
- [Add electronic signatures to PDFs with JavaScript](/guides/web/signatures/adding-an-electronic-signature.md)
- [Sign PDFs with certificates using JavaScript](/guides/web/signatures/using-electronic-signatures-and-digital-signatures-together.md)
- [Save and store electronic signatures in our JavaScript viewer](/guides/web/signatures/signature-storage.md)
- [Integrate digital signatures](/guides/web/signatures/digital-signatures/integrations/overview.md)
- [Integrate digital signatures with GlobalSign DSS](/guides/web/signatures/digital-signatures/integrations/globalsign.md)
- [Integrate digital signatures with AWS CloudHSM](/guides/web/signatures/digital-signatures/integrations/aws-hsm.md)
- [Add signature fields to PDFs using JavaScript](/guides/web/signatures/digital-signatures/signature-lifecycle/add-a-signature-field.md)
- [Creating self-signed certificates for digital signatures](/guides/web/signatures/digital-signatures/signature-lifecycle/prepare-the-certificates-for-signing.md)
- [Sign a PDF via Document Engine using JavaScript](/guides/web/signatures/digital-signatures/signature-lifecycle/sign-a-pdf-document-document-engine.md)
- [Configure digital signature appearance: Visible vs. non-visible Signatures](/guides/web/signatures/digital-signatures/signature-lifecycle/configure-digital-signature-appearance.md)
- [Sign a PDF via DWS Processor API using JavaScript](/guides/web/signatures/digital-signatures/signature-lifecycle/sign-a-pdf-document-dws.md)
- [Validating a digital signature using JavaScript](/guides/web/signatures/digital-signatures/signature-lifecycle/validation.md)
- [Implementing a secure digital signature lifecycle](/guides/web/signatures/digital-signatures/signature-lifecycle/signature-lifecycle-overview.md)
- [Sign a PDF with a certificate in a browser](/guides/web/signatures/digital-signatures/signature-lifecycle/sign-a-pdf-document.md)
- [Document Modified Since Signature](/guides/web/signatures/digital-signatures/troubleshooting/document-modified-since-signature.md)
- [Understanding digital signature validation statuses](/guides/web/signatures/digital-signatures/troubleshooting/chain-of-certs-not-valid.md)
- [Invalid Signatures](/guides/web/signatures/digital-signatures/troubleshooting/invalid-signatures.md)

