---
title: "Ways to use Nutrient Web SDK | Nutrient SDK"
canonical_url: "https://www.nutrient.io/guides/web/about/operational-modes/"
md_url: "https://www.nutrient.io/guides/web/about/operational-modes.md"
last_updated: "2026-06-10T00:00:00.000Z"
description: "Choose between Web SDK with a license key, DWS Viewer API, and self-hosted Document Engine."
---

# Ways to use Web SDK

Nutrient Web SDK can be used in three common ways. The viewer API in your frontend is similar across these options, but authorization, document storage, and licensing differ. If you’re comparing licensed Web SDK with DWS Viewer API specifically, refer to the [Web SDK vs. DWS Viewer API](https://www.nutrient.io/guides/web/knowledge-base/web-sdk-vs-dws-viewer.md) guide.

## Web SDK with a license key

Use this path when your app owns document delivery and authorization. Web SDK loads documents directly in the browser using `document` and a Web SDK `licenseKey`.

This path works well when:

- Your app already controls document access.

- Documents should render directly in the browser.

- You want fixed Web SDK licensing instead of DWS Viewer API usage-based viewer sessions.

- You need browser-only operation without DWS authorization.

## Web SDK with DWS Viewer API

Use this path when you want DWS Viewer API to authorize and meter viewer sessions. Your backend creates DWS Viewer API session tokens, and Web SDK loads with `session`.

DWS Viewer API supports two document sources:

- DWS-managed documents uploaded to and stored by DWS.

- App-provided documents with `session` and `document`.

For app-provided documents, omit `licenseKey`. The DWS Viewer API session authorizes the load. Backendless public API key support is planned separately; today, your backend creates the session.

## Web SDK with self-hosted Document Engine

Use this path when you want to run Document Engine in your own infrastructure. Document Engine handles server-side storage, rendering, synchronization, and advanced processing, while Web SDK provides the browser UI.

This path works well when you:

- Need to operate the backend yourself.

- Want server-side document rendering and processing.

- Need built-in annotation and form synchronization.

- Need Document Engine features such as OCR and Instant collaboration.

## Compare the options

| Option                                   | Document source                                 | Authorization          | Backend                           |
| ---------------------------------------- | ----------------------------------------------- | ---------------------- | --------------------------------- |
| Web SDK with a license key               | Your app provides documents to Web SDK          | Web SDK license key    | None required                     |
| Web SDK with DWS Viewer API              | DWS-managed documents or app-provided documents | DWS Viewer API session | Required today to create sessions |
| Web SDK with self-hosted Document Engine | Document Engine documents                       | Document Engine JWT    | Self-hosted Document Engine       |

| Framework            | Web SDK | Web SDK + Document Engine |
| -------------------- | ------- | ------------------------- |
| Angular              | ✓       | ✓                         |
| ASP.NET              | ✓       | ✓                         |
| Blazor               | ✓       | ✓                         |
| Electron             | ✓       |                           |
| HTML5                | ✓       | ✓                         |
| jQuery               | ✓       | ✓                         |
| Next.js              | ✓       | ✓                         |
| Nuxt.js              | ✓       | ✓                         |
| Progressive web apps | ✓       | ✓                         |
| React                | ✓       | ✓                         |
| Ruby on Rails        | ✓       | ✓                         |
| Svelte               | ✓       | ✓                         |
| TypeScript           | ✓       | ✓                         |
| Vue                  | ✓       | ✓                         |
| Flutter              | ✓       | ✓                         |

| PDF support      | Web SDK | Web SDK + Document Engine |
| ---------------- | ------- | ------------------------- |
| PDF              | ✓       | ✓                         |
| PDF/A 1, 2, 3, 4 | ✓       | ✓                         |
| XFDF             | ✓       | ✓                         |
| Instant JSON     | ✓       | ✓                         |

| Office document support | Web SDK | Web SDK + Document Engine |
| ----------------------- | ------- | ------------------------- |
| DOCX, DOC, DOTX, DOCM   | ✓       | ✓                         |
| PPTX, PPT, PPTM, PPSX   | ✓       | ✓                         |
| XLSX, XLS, XLSM         | ✓       | ✓                         |
| RTF                     |         | ✓                         |
| ODT                     |         | ✓                         |

| HTML support | Web SDK | Web SDK + Document Engine |
| ------------ | ------- | ------------------------- |
| HTML         |         | ✓                         |

| Image support | Web SDK | Web SDK + Document Engine |
| ------------- | ------- | ------------------------- |
| PNG           | ✓       | ✓                         |
| JPEG, JPG     | ✓       | ✓                         |
| TIFF, TIF     | ✓       | ✓                         |
| HEIC          |         | ✓                         |
| GIF           |         | ✓                         |
| WebP          |         | ✓                         |
| SVG           |         | ✓                         |
| TGA           |         | ✓                         |
| EPS           |         | ✓                         |
| BMP           |         | ✓                         |

| Email support | Web SDK | Web SDK + Document Engine |
| ------------- | ------- | ------------------------- |
| EML           |         | ✓                         |
| MSG           |         | ✓                         |

| CAD support | Web SDK | Web SDK + Document Engine |
| ----------- | ------- | ------------------------- |
| DWG         |         | ✓                         |
| DXF         |         | ✓                         |

| TXT support | Web SDK | Web SDK + Document Engine |
| ----------- | ------- | ------------------------- |
| TXT         | ✓       | ✓                         |

## Next steps

- To use Web SDK with a license key, start with the [Web SDK getting started guide](https://www.nutrient.io/sdk/web/getting-started.md).

- To use DWS Viewer API, start with the [DWS Viewer API getting started guide](https://www.nutrient.io/guides/dws-viewer/getting-started.md).

- To use app-provided documents with DWS Viewer API, refer to the [open app-provided documents](https://www.nutrient.io/guides/dws-viewer/developer-guides/open-client-provided-documents.md) guide.

- To run Document Engine yourself, refer to the [Document Engine getting started guide](https://www.nutrient.io/sdk/document-engine/getting-started/docker-deployment-react-frontend.md).

- To compare licensed Web SDK and DWS Viewer API, refer to the [Web SDK vs. DWS Viewer API](https://www.nutrient.io/guides/web/knowledge-base/web-sdk-vs-dws-viewer.md) guide.
---

## Related pages

- [Beta domains for Nutrient Web SDK](/guides/web/about/beta-domains.md)
- [Compare deployment options and use cases for Nutrient document solutions](/guides/web/about/capability-and-component-comparison-document-engine.md)
- [Compare deployment options and use cases for Nutrient document solutions](/guides/web/about/capability-and-component-comparison-web-sdk-document-engine.md)
- [Compare deployment options and use cases for Nutrient document solutions](/guides/web/about/capability-and-component-comparison-web-sdk.md)
- [File type support](/guides/web/about/file-type-support.md)
- [JavaScript PDF framework support](/guides/web/about/frameworks.md)
- [Browser support for our JavaScript PDF viewer](/guides/web/pspdfkit-for-web/browser-support.md)
- [Licensing](/guides/web/pspdfkit-for-web/licensing.md)

