AnyTool
Your files never leave your device. All processing happens locally in your browser.

How do I view a DICOM (.dcm) medical image in the browser?

Drop a .dcm file onto AnyTool DICOM Viewer and it opens instantly in your browser — no software, no account, no upload. You get the image rendered on a canvas with interactive window/level (width and center sliders plus CT presets for brain, soft tissue, abdomen, lung and bone), an invert toggle, a frame slider for multi-frame studies, the full DICOM tags grouped and copyable, and one-click PNG export. Because medical images are sensitive, everything runs on your device and any patient information in the tags never leaves it.

  • View .dcm images with no viewer app and no install
  • Interactive window/level with modality presets (CT brain, lung, bone, soft tissue…)
  • Invert, plus a frame slider for multi-frame series
  • Read every DICOM tag — patient, study, series and technical — grouped and copyable
  • Export the current frame as a PNG
  • 100% client-side — the scan and any PHI never leave your browser; works offline

What is

DICOM Viewer

A DICOM viewer opens a Digital Imaging and Communications in Medicine (.dcm) file — the standard format for medical images such as CT, MRI, X-ray and ultrasound — and displays the image plus its metadata. DICOM stores raw pixel data alongside hundreds of tags (patient, study, acquisition and image attributes) and a transfer syntax describing how the pixels are encoded. A browser-based viewer parses that dataset client-side, applies the modality LUT (rescale slope/intercept) and a VOI window (window center/width) to map the values to grayscale, and renders the result on a canvas — all without uploading the file.

Converters

Related terms

DICOMDCMWindow/LevelCTMRIHounsfieldPHIdicom-parser

Frequently Asked Questions

Nothing is uploaded. The .dcm is parsed and rendered entirely in your browser, so the scan and any patient information in the tags never leave your device.

AnyTool DICOM Viewer is 100% client-side. When you choose a .dcm, your browser reads it locally and the dicom-parser library — bundled into the app rather than loaded from a CDN — parses the dataset on your own machine, then the engine renders the pixels on a canvas. No file is sent to any server, there is no account or tracking, and the tool works offline after the first load. Crucially, DICOM tags can contain protected health information (PHI) such as patient name and ID; here those tags are decoded and shown to you only, and they stay on your device — which makes it safe for confidential medical imaging, unlike viewers that open the file on or through their servers.

Yes. Window width and center sliders set the contrast and brightness, and there are CT presets for brain, soft tissue, abdomen, lung, bone and mediastinum.

Medical images often store far more shades than a screen can show, so a “window” selects which range of values is mapped to black-to-white. The window width sets the contrast and the window center (level) sets the brightness. This viewer applies the modality LUT (rescale slope/intercept, so CT values become Hounsfield units) and then your window, in real time on a canvas. You can drag the two sliders, tap a preset — CT Brain, Soft tissue, Abdomen, Lung, Bone, Mediastinum — or invert the image, and MONOCHROME1 images are inverted automatically so they read correctly.

It fully supports uncompressed DICOM, RLE Lossless and baseline JPEG. JPEG 2000 and JPEG-LS need a heavy codec and are detected and reported, not faked.

The viewer reads the transfer syntax and decodes the supported ones entirely in the browser: uncompressed implicit/explicit VR (little- and big-endian), RLE Lossless (decoded with a PackBits implementation), and baseline/extended JPEG (decoded by the browser itself). JPEG 2000 and JPEG-LS require a large WebAssembly codec and are not decoded here — instead the tool detects them and tells you honestly, suggesting you convert the file to an uncompressed, RLE or baseline-JPEG DICOM. It is a fast viewer, not a diagnostic workstation, so the image is display-windowed and advanced VOI LUT sequences and overlays are not applied.

Yes. One click exports the current frame — at your chosen window/level — as a PNG, generated locally with nothing uploaded.

Once a DICOM is open, the Download PNG button encodes the rendered canvas — exactly as you have windowed it, with any invert applied, for the current frame of a multi-frame study — into a PNG image entirely in your browser. Because the encoding uses the canvas API on your device, no image is uploaded and the export works offline. This is handy for sharing or annotating a slice without exposing the original DICOM and its PHI.

Detailed Explanation

Methodology

How the DICOM Viewer Works

AnyTool DICOM Viewer opens a Digital Imaging and Communications in Medicine (.dcm) file entirely in the browser using the dicom-parser library, which is bundled into the app and served from the same origin — never from a CDN — so the tool works offline and uploads nothing. When you choose a file it is read to an ArrayBuffer; the engine validates the DICM magic at offset 128 (and still accepts files without a preamble) and parses the dataset, then reads the image-pixel module — Rows, Columns, Bits Allocated/Stored, Pixel Representation, Samples Per Pixel, Photometric Interpretation, Planar Configuration and Number of Frames — the modality LUT (Rescale Slope/Intercept) and the VOI window (Window Center/Width). It decodes the pixels according to the transfer syntax and renders each frame on an HTMLCanvasElement: for grayscale it computes value = stored × slope + intercept and maps it through the window to 8-bit, honouring MONOCHROME1; for colour it copies RGB samples respecting planar configuration. Pixel decoding, windowing and PNG export all run on your device.

  • Parsed with the dicom-parser library, fully in the browser — no CDN, no server
  • DICM magic validated; files without a preamble are still accepted
  • Reads the image-pixel module, modality LUT (rescale slope/intercept) and VOI window
  • Grayscale windowed with value = stored × slope + intercept, MONOCHROME1 inverted
  • Each frame rendered on a canvas; colour images copy RGB by planar configuration
How It Works

Window/Level, Presets, Metadata and Export

The interface renders the image on a black canvas and gives you real-time window/level: a window-width slider for contrast and a window-center (level) slider for brightness, whose ranges adapt to the pixel value range so they stay useful for 16-bit CT (in Hounsfield units) as well as 8-bit images. Modality-aware presets — CT Brain (40/80), Soft tissue (40/400), Abdomen (60/400), Lung (−600/1500), Bone (300/1500) and Mediastinum (50/350) — plus a Default-from-file and Full-range option are one tap, and an invert toggle flips the display. Multi-frame studies get a frame slider. A metadata panel decodes the DICOM tags into Patient, Study, Series/Equipment and Image/Technical groups — tidying person names and dates — and each value is one click to copy. Download PNG encodes the current frame, at your chosen window/level and invert, locally via the canvas API.

  • Real-time window width/center sliders with data-adaptive ranges (8-bit and 16-bit CT)
  • Modality presets: CT brain, soft tissue, abdomen, lung, bone, mediastinum, plus default & full range
  • Invert toggle; frame slider for multi-frame series
  • DICOM tags grouped (patient, study, series, technical), each value copyable
  • Export the current frame as a PNG, generated locally
Privacy & Security

Privacy, PHI and Honest Limitations

Because all parsing, rendering and export run in the browser with a bundled library, the medical image is never uploaded, there is no account or tracking, and the viewer works offline after first load — which makes it safe for confidential imaging, in contrast to viewers that open the file on or through their servers. This matters especially for DICOM because the tags can carry protected health information (PHI) such as patient name, ID and birth date; here those tags are decoded and shown to you only and stay on your device, and the page says so. The honest scope is stated plainly: this is a fast viewer, not a diagnostic workstation, and the image is display-windowed. Transfer-syntax support covers uncompressed (implicit/explicit VR, little- and big-endian), RLE Lossless (decoded with a PackBits implementation) and baseline/extended JPEG (decoded by the browser). JPEG 2000 and JPEG-LS need a heavy WebAssembly codec and are detected and reported rather than mis-rendered, and advanced VOI LUT sequences and overlay planes are not applied.

DICOM Viewer: in-browser (AnyTool) vs typical online DICOM viewers
CapabilityAnyToolTypical alternatives
ProcessingRuns in your browserOften uploaded to or opened via a server
Privacy / PHIScan and tags never leave your deviceFile and PHI sent to a third party
Library sourcedicom-parser bundled locally — no CDNOften a remote service or CDN
Window/levelReal-time sliders + modality presetsSometimes fixed or limited
MetadataFull grouped, copyable DICOM tagsVaries
Multi-frameFrame sliderSometimes none
Compressed supportUncompressed, RLE, baseline JPEG (honest scope)Varies
PNG exportCurrent frame, at your window/levelUsually limited
Works offlineYes (PWA)No
Cost / signupFree, no signup, no capsOften gated, capped or ad-heavy

AnyTool parses the DICOM locally with dicom-parser and renders pixels on a canvas, uploading nothing; it is a fast viewer, not a diagnostic workstation, and JPEG 2000 / JPEG-LS are detected rather than decoded.