dcm4che

dcm4che DICOM Toolkit

dcm4che is a free, open-source Java DICOM toolkit and library with more than 50 command-line tools for sending, receiving, querying, converting and checking DICOM data. It is not a viewer; the dcm4chee archive is a separate project built on it.

FreeLatest version: 5.35.1Actively developed

dcm4che is a free, open-source DICOM toolkit and library written in Java. It is used by developers, PACS administrators and clinic IT staff who need to send, receive, query, convert or inspect DICOM data from the command line or inside their own software. It is not a viewer and not an archive. If you searched for “dcm4che” expecting a PACS server with a web interface, that is the sister project dcm4chee (dcm4chee-arc-light), which is built on top of this toolkit.

The toolkit is actively maintained on GitHub. Version 5.35.1 was released on 24 August 2026. For a dental practice, dcm4che is the “plumbing” layer. It can check whether a CBCT unit really sends valid DICOM, push studies to an archive, anonymise a case for teaching, or turn a DICOM image into a JPEG for a report.

dcm4che at a glance

ItemDetails
Latest version5.35.1 (24 August 2026)
LicenceFree and open source: tri-licensed MPL 1.1 / GPL 2.0 / LGPL 2.1
PlatformsAny system with Java: Windows, Linux, macOS (start scripts for Windows and Unix shells); official Docker image dcm4che/dcm4che-tools
Developerdcm4che open-source project (original code by Agfa HealthCare)
Official websitedcm4che.org; source at github.com/dcm4che/dcm4che
Best forTesting DICOM connections, scripted transfers and conversions, building DICOM features into software

What it does

  • Network client tools: storescu sends DICOM files to a destination, findscu queries an archive, and movescu and getscu retrieve studies. Together they are the standard way to test a DICOM link.
  • Simple receivers: storescp accepts incoming images and writes them to a folder. dcmqrscp is a small query/retrieve archive for testing.
  • Inspection: dcmdump prints every header tag; dcmvalidate checks a file against the standard.
  • Conversion: dcm2jpg exports images; jpg2dcm and pdf2dcm wrap JPEG or PDF files into DICOM; dcm2xml, dcm2json, xml2dcm and json2dcm convert headers; dcm2dcm transcodes between transfer syntaxes.
  • Media and privacy: dcmdir creates and edits DICOMDIR files for CDs; deidentify removes identifying data.
  • Web services and HL7: stowrs and wadors for DICOMweb, plus HL7 send/receive utilities.
  • Java libraries (core, network, image I/O, configuration, audit) that developers embed in their own applications.

How dental teams use it

Checking that a CBCT or panoramic unit can reach the archive

  1. On a PC on the same network, start a test receiver: storescp -b STORESCP:11112 --directory incoming.
  2. Add that AE title, IP and port as a destination on the imaging unit and send one study.
  3. If files arrive in the folder, the device and network are fine and any remaining problem is in your archive’s configuration.
  4. To test in the other direction, send a known file to your archive: storescu -c ARCHIVE@192.168.1.20:104 study_folder.

Finding out why a viewer rejects a file

Run dcmdump file.dcm to see the modality, transfer syntax and patient tags, and dcmvalidate to spot non-standard headers. Vendor support will usually ask for exactly this information.

Preparing teaching cases

Use deidentify to strip patient data from a CBCT series before sharing it with students. Then check the result with dcmdump, because free-text fields and burned-in annotations may still need manual review.

Adding photos or PDFs to a patient’s imaging record

jpg2dcm and pdf2dcm wrap an intraoral photo or a referral letter as DICOM so it can be stored next to the X-rays in a PACS.

Install and first run

Requirements: a Java runtime. Current sources are built with Java 17 or newer, so install a Java 17+ runtime (JDK or JRE) before you start.

Windows: unpack the binary zip (dcm4che-5.35.1-bin.zip) to a folder such as C:dcm4che, then open a command prompt in its bin folder. Each tool has a .bat file, for example storescu.bat --help.

Linux and macOS: unpack the tar.gz and run the shell scripts in bin, for example ./dcmdump --help. Mark them executable if needed.

Docker: the project publishes the image dcm4che/dcm4che-tools, which is handy for one-off tests without installing Java.

Gotchas: the toolkit has no graphical interface. Every tool prints its options with --help. Firewalls must allow the port you choose for receivers. AE titles are case-sensitive and must match on both sides.

Limitations

  • It is command-line only, with no image viewer and no GUI.
  • It is not a PACS. Storage, a web UI, user management and retention rules belong to the separate dcm4chee archive.
  • It has no dental features: no panoramic reconstruction or implant planning, and it does not open proprietary formats such as vendor-specific CBCT project files.
  • It needs basic DICOM knowledge (AE titles, ports, transfer syntaxes) to use well.

dcm4che vs alternatives

dcm4che vs dcm4chee: the first is this toolkit; the second is the full archive (dcm4chee-arc-light) with a web interface, database and Docker deployment. Clinics that only need to view images are better served by a viewer such as Sante DICOM Viewer or Mango. The legacy K-PACS combined a viewer with simple store and query/retrieve functions on Windows, but it is no longer developed, so dcm4che is the maintained choice for the networking side. Developers who work in C++ rather than Java often compare dcm4che with DCMTK, which offers a similar set of command-line tools.

FAQ

What is the difference between dcm4che and dcm4chee?

dcm4che is the Java DICOM toolkit and library with command-line tools. dcm4chee (dcm4chee-arc-light) is the PACS/archive application built on it, with a web UI and database.

Where do I download dcm4che?

Each release comes as a binary package (zip or tar.gz) containing all the tools, and the project’s GitHub page lists every release. A Docker image, dcm4che/dcm4che-tools, is also available.

What are the dcm4che tools?

Over 50 utilities, including storescu, storescp, findscu, movescu, getscu, dcmdump, dcm2jpg, jpg2dcm, dcmdir, deidentify, stowrs and wadors.

Is dcm4che free?

Yes. It is open source under MPL 1.1, GPL 2.0 or LGPL 2.1, at your choice, and free for clinical, research and commercial use under those terms.

Does dcm4che run in Docker?

Yes. The project publishes dcm4che/dcm4che-tools for the utilities. The dcm4chee archive has its own set of images (for example dcm4chee-arc-psql).

Which Java version does dcm4che need?

Current versions are built with Java 17 or newer, so use a Java 17+ runtime.

Is dcm4che available through Maven?

Yes. Developers use the dcm4che libraries (dcm4che-core, dcm4che-net, dcm4che-imageio and others) as Maven dependencies, from the project’s own Maven repository.

Last checked against official sources: 29 September 2026 (developer website: github.com). Versions and licence terms change — confirm on the developer's site before deploying in a clinic.

Other programs

Send a Message