# JavaScript image viewer library

NutrientWeb SDK is a JavaScript image viewer library that includes support for directly rendering  JPEG, PNG, and TIFF files in any modern browser or on any mobile device without any plugins. It offers developers a way to quickly embed a highly configurable image or document viewer with a beautiful UI in any web app.

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

[Launch demo](https://www.nutrient.io/demo/image-viewer/)

## Key capabilities

- **Customizable UI** — Hide or add buttons, and match your look and feel

- **Client-side** — Workload is offloaded to client (no server needed)

- **Images and documents** — Open PDF, Word, Excel, PowerPoint, TIFF, PNG, and JPG

- **Responsive** — Mobile-friendly UI auto-adjusts to all screen sizes

- **Accessible** — Built-in assistive technology-friendly features

- **Browser support** — Works on all modern browsers and devices

- **Extendable** — Add annotation, editing, forms, and more

This feature requires the Image Documents component to be enabled in your license.

## Image file type support

- TIFF, TIF (including multipage)

- PNG

- JPEG, JPG

Nutrient Web SDK also supports **PDF, PDF/A (1, 2, 3, 4), Word, Excel, and PowerPoint**.

## Loading image documents

When calling `PSPDFKit#load()` and passing a blob, array buffer, or URL to the image into the `document` option, Nutrient Web SDK will open the image file as if it were a PDF document:

```js

NutrientViewer.load({
  document: image
});

```

For more information on loading options, follow our guides on [importing a PDF document](https://www.nutrient.io/guides/web/open-a-document.md).

## Exporting image documents

Image documents can be exported as PDF documents by using [`Instance#exportPDF()`](https://www.nutrient.io/api/web/NutrientViewer.Instance.html#exportPDF) and triggering a download, as explained in the [save a document to local storage](https://www.nutrient.io/guides/web/save-a-document/to-local-storage.md) guide.





## Framework support

Nutrient Web SDK is compatible with any JavaScript framework, including
[React](https://www.nutrient.io/guides/web/viewer/images.md), [Angular](https://www.nutrient.io/guides/web/viewer/images.md), [Vue.js](https://www.nutrient.io/guides/web/viewer/images.md), [Svelte](https://www.nutrient.io/guides/web/viewer/images.md), [Blazor](https://www.nutrient.io/guides/web/viewer/images.md), [Next.js](https://www.nutrient.io/guides/web/viewer/images.md), [Nuxt.js](https://www.nutrient.io/guides/web/viewer/images.md), [TypeScript](https://www.nutrient.io/guides/web/viewer/images.md), [jQuery](https://www.nutrient.io/guides/web/viewer/images.md), and [HTML5](https://www.nutrient.io/guides/web/viewer/images.md). It’s also compatible with [Electron](https://www.nutrient.io/guides/web/viewer/images.md), [ASP.NET](https://www.nutrient.io/guides/web/viewer/images.md), [PHP](https://www.nutrient.io/guides/web/viewer/images.md), [Ruby on Rails](https://www.nutrient.io/guides/web/viewer/images.md), and [Laravel](https://www.nutrient.io/guides/web/viewer/images.md). It just needs a DOM container to append the viewer, which is possible with any framework.
---

## Related pages

- [Embed Web SDK in a dashboard/app shell](/guides/web/viewer/embed-in-dashboard-app-shell.md)
- [Enhance PDF viewing with linearized downloading](/guides/web/viewer/linearized-downloads.md)
- [Client authentication and session renewal](/guides/web/viewer/client-authentication.md)
- [Office document viewing in JavaScript](/guides/web/viewer/office-documents.md)
- [Mobile responsive JavaScript PDF viewer](/guides/web/viewer/mobile-responsive.md)
- [Create custom annotation toggle button](/guides/web/viewer/custom-annotation-toggle.md)
- [JavaScript PDF viewer library](/guides/web/viewer.md)
- [Page layout and scroll options in our JavaScript PDF viewer](/guides/web/customizing-the-interface/document-presentation-options.md)
- [JavaScript PDF viewer library](/guides/web/viewer/pdf.md)
- [JavaScript Support in our PDF viewer](/guides/web/features/javascript.md)
- [macOS/Linux](/guides/web/viewer/troubleshooting.md)
- [PDF document streaming in JavaScript](/guides/web/viewer/streaming.md)
- [Enable or disable permissions in our JavaScript viewer](/guides/web/features/document-permissions.md)
- [Zoom options in our JavaScript PDF viewer](/guides/web/viewer/zooming.md)

