Library / SDK
ivmartel/dwv avatar
ivmartel/dwv

DWV: Browser-Based DICOM Viewing with JavaScript

DICOM Web Viewer: open source zero footprint medical image library.

1,851 stars632 forksJavaScriptGPL-3.0

At a glance

What is it?
DWV is an open source JavaScript library for viewing and manipulating local or remote DICOM data in a modern browser. It offers useful image interaction tools, but its documentation explicitly states that it is not certified for diagnostic use.
Who is it for?
DWV is appropriate for browser-based medical image demonstrations, research interfaces, and applications that need a JavaScript DICOM viewer without a separate desktop client. It is not suitable as a certified diagnostic system.
Can I use it commercially?
Yes, with conditions. GPL-3.0 is a copyleft licence: if you distribute software that includes it, you must release that software's source code under the same licence. Running it internally without distributing it does not trigger that obligation.
Is it still maintained?
Yes. The repository received new commits within the last day.
What is it written in?
Mainly JavaScript, according to GitHub's language statistics.

Answers come from the project's GitHub data, last synced on October 23, 2026, and from our analysis. They are not legal advice.

Editorial analysis

Why DWV targets browser-based medical imaging

DWV solves a specific integration problem: displaying and interacting with DICOM medical image data through a web browser. The repository describes DICOM as the standard format for medical imaging data such as MR, CT, Echo, Mammo, and NM. DWV is aimed at developers building browser-based viewers, demonstrations, or image-handling tools rather than users looking for a certified clinical workstation. The library is written in JavaScript and uses HTML5 technologies, so the documented target is any platform with a modern browser, including laptops, tablets, phones, and modern televisions. The project calls itself a zero-footprint library, meaning that it is designed to run inside the browser rather than require a separate desktop application. That positioning makes DWV useful when the application already has a web frontend and the image data can be opened locally or fetched from a remote service. The README does not describe a server component included in the repository, so it should not be treated as a complete PACS or diagnostic workflow platform.

DICOM loading and browser interaction in DWV

The documented data flow starts with local or remote DICOM data and ends with rendering and manipulation in the viewer. The README says that DWV can load both kinds of data. It also lists standard manipulation tools, including scroll, contrast, zoom, pan, MPR, annotation, and imaging filters such as threshold and sharpening. These features indicate that the library is not limited to displaying a static image. It is intended to give an application user controls for examining image data while keeping the implementation in JavaScript and HTML5. The repository layout supports a modular library implementation: source files are under `src/`, tests are under `tests/`, configuration is under `config/`, and development resources are under `dev/`. The package metadata identifies `dcmstdtojs` as a DICOM-related dependency, along with `jszip`, `konva`, and `magic-wand-tool`. Those dependencies are visible in `package.json`, but the README does not document the exact internal parsing sequence or rendering architecture. It is therefore safer to describe DWV as a browser library with DICOM loading and interaction features, rather than claim a specific decoder pipeline that is not shown here. The project documentation also links to examples, DICOM conformance information, and PACS integrations, but it does not reproduce those integration details in the README.

Installing DWV and launching the example pages

The README gives a direct development setup using Git, Yarn, and the included scripts. It says that Yarn is the main package manager because the repository contains a Yarn lock file, and it recommends using Yarn to reproduce the exact dependency tree. The documented commands retrieve the repository, install dependencies, and start the development server. After the server starts, the README says that the default browser opens with example pages and directs the reader to the `viewer` link for a simple test viewer. The command below is copied from the README, including its comment lines:

bash
git clone https://github.com/ivmartel/dwv.git
cd dwv
yarn install
yarn run start

The README says that no separate Yarn installation is needed because `corepack enable` should be sufficient. It also says that the scripts work with `npm`, although the project recommends Yarn. The package metadata requires Node.js `>= 14.0.0`. The package is an ES module and exposes different distribution entries: the default browser build, a Node build, and TypeScript declarations. The README does not provide a complete minimal application example, so the most reliable first use is the documented example viewer rather than an invented integration snippet.

DWV's feature set is broad, but diagnostic status is explicit

The available interaction tools are the clearest advantage described by the project. Scroll supports viewing through image data, while contrast, zoom, and pan address common inspection actions. MPR, annotation, threshold, and sharpening extend the scope beyond a basic image canvas. For a research or demonstration interface, this can reduce the need to assemble several separate browser libraries. The limitation is equally important. The README explicitly says, "DWV is not certified for diagnostic use." The project further explains that certification refers to official medical software certification issued by the FDA or EU Notified Bodies. It states that DWV comes with no warranties and no possible liability of its authors, as stated in the license. This does not tell an integrator how a particular medical deployment should be regulated, and this article does not provide legal or clinical guidance. It does mean that a product requiring official diagnostic certification cannot treat the library as certified merely because it displays DICOM data. The README also describes DICOM conformance documentation, but the conformance content itself is not included here. An application team would need to check the linked conformance material against its own supported transfer syntaxes, data sources, and display requirements before making a product decision.

How DWV differs from a separate desktop viewer

DWV is best compared with a desktop or server-backed medical imaging application on deployment model, not on a claimed list of features. DWV is a JavaScript library that runs in a modern browser and can load local or remote DICOM data. A separate desktop viewer would normally be installed as an application and would have its own runtime, windowing system, and native integration model. That alternative may be more appropriate when an organization requires a fixed application environment, a certified workflow, or controls that are not described for DWV. A server-side PACS or imaging platform can also provide a central data service, while DWV is the browser-side viewer component. The distinction is important because DWV's repository does not present itself as a PACS server, a full diagnostic reporting system, or a certified workstation. Its advantage is web deployment and a JavaScript integration surface. Its cost is that browser compatibility, remote data access, application design, and regulatory requirements remain separate engineering concerns. The README links to PACS integration documentation, but does not specify which external systems are covered. Teams should not assume that a link to an integration example means compatibility with any particular PACS.

Maintenance, packaging, and GPL-3.0 obligations

The repository is not archived. Its last push was on 2026-10-16, so it is not stale under the available maintenance facts. The recent release history includes v0.36.4 on 2026-08-05, v0.36.3 on 2026-05-26, and v0.36.2 on 2026-05-26. The package metadata currently reports version `0.37.0-beta.19`, which indicates that the package version and the listed recent releases are not the same release point. That distinction matters when pinning a dependency. DWV uses a Yarn lock file, and the README recommends Yarn so that dependency resolution follows the repository's recorded tree. Upgrades may therefore involve checking both the package version and the lock file, then reviewing the changelog. The package uses JavaScript modules and exposes browser, Node, and TypeScript entry points. It is released under GNU GPL-3.0. That license has implications for how the library is distributed and combined, but this article does not interpret legal requirements. Organizations should review `license.txt` and determine whether their distribution model is compatible with the license before embedding DWV in a product.

Editorial conclusion

DWV is appropriate for browser-based medical image demonstrations, research interfaces, and applications that need a JavaScript DICOM viewer without a separate desktop client. It is not suitable as a certified diagnostic system. Before adoption, verify that the browser environment, DICOM data source, required interaction tools, and the GPL-3.0 licensing arrangement fit the intended application.

Frequently asked questions

How do I install and run DWV locally?

The README documents cloning the repository, entering the `dwv` directory, running `yarn install`, and then running `yarn run start`. The development server opens example pages in the default browser, including a `viewer` link for a simple test viewer.

Can DWV be used for diagnostic medical imaging?

No diagnostic use is certified. The README states that DWV is not certified for diagnostic use and explains that certification refers to official medical software certification issued by the FDA or EU Notified Bodies.

What can DWV do with DICOM images?

The README says that DWV can load local or remote DICOM data and provides tools such as scroll, contrast, zoom, pan, MPR, annotation, threshold, and sharpening. It describes support for medical imaging data such as MR, CT, Echo, Mammo, and NM.

Official sources

  1. ivmartel/dwv on GitHub
  2. License: GPL-3.0
  3. Project website
  4. README
  5. Releases
Add this badge to your README

If you maintain this project, the badge below links readers to this analysis and shows its maintenance status from the daily GitHub snapshot. Paste the markdown into your README; add ?metric=license or ?metric=stars to the image URL for a different field.

Add this badge to your README

markdown
[![Hysen Labs](https://hysenlabs.com/badge/ivmartel-dwv.svg)](https://hysenlabs.com/projects/ivmartel-dwv)

Was this useful?