DICOM anonymizer software is a product you run against a pile of files — Pixelmed, RSNA CTP, DicomCleaner, XNAT, DVTk, GDCM, or Orthanc. This page is that list. It is not a pydicom script and it is not a general privacy essay.
If you meant do it in Python → DICOM anonymization using Python. If you meant what anonymization is (pseudonymization, Safe Harbor, GDPR, linkage) → what is data anonymization. If you meant a PYCAD build → DICOM de-identification software (this URL stays the listicle; that page is a services CTA). If you meant what DICOM is → what is DICOM.
HIPAA / GDPR decide whether the output is de-identified. They do not pick the binary. The 18 Safe Harbor identifiers and the reversibility distinction live on the privacy page. What you look for in a tool is narrower: which tags it will touch, whether it can shift dates, whether it talks DICOM (C-STORE) or only a folder, and whether you can script it.
The seven, at a glance
| Tool | Interface | Best when | License |
|---|---|---|---|
| Pixelmed | Java CLI, profiles | You want tag-level control and a script | Free |
| CTP (RSNA) | Pipeline + web admin | A trial has to receive, de-id, and send | Free |
| DicomCleaner | GUI, profiles | A person will review tags on a laptop | Free (donation) |
| XNAT | Web archive + rules | Anonymization is one step in a research PACS | Free |
| DVTk | GUI and CLI | You also need DICOM validation | Free |
| GDCM | C++ / bindings | You are embedding a library, not a product | Free (BSD) |
| Orthanc | Lightweight DICOM server | You want store + REST + a plugin, not a one-shot scrubber | Free |
All seven are free. “Commercial vs open-source” is not the split on this list. The split is CLI vs GUI vs archive vs library.
1. DICOM Anonymizer by Pixelmed
Java toolkit from David Clunie. You write a profile: which tags to empty, replace, or keep. Batch over a directory. CLI, so it slots into a shell or a Python wrapper. No polished GUI.
Use it when the job is “apply this profile to 40,000 files tonight.” Skip it when the operator is a coordinator who will not open a terminal. Needs a JRE. Docs and downloads: pixelmed.com/dicomtoolkit.html.
2. CTP (Clinical Trial Processor)
RSNA’s trial pipeline: receive DICOM, run a scripted de-id, quarantine or export, optionally send on. Web admin. Talks DICOM networking, so it can sit next to a PACS instead of next to a USB stick.
Use it when a multi-site study has to ingest and de-identify on a schedule. Setup is a real install (Java, config, scripts). Sparse on advanced edge cases; the RSNA research-tools page and the user list are the support. Site: rsna.org/research/imaging-research-tools.
3. DicomCleaner
Also Clunie. Cross-platform GUI. You see the attributes, pick a profile (including ones aimed at HIPAA-style removal), and confirm before write. Built-in viewer so you can check the pixels after the header changes.
Use it for a laptop, a teaching set, or a small clinic export. Not the tool for a 200,000-object night job — Pixelmed, CTP, or GDCM will finish that. Donation-supported. Site: dclunie.com/dicomcleaner.
4. XNAT
Research archive first, anonymizer second. Project-level rules, import/export workflows, REST API, web UI. You do not stand up XNAT to scrub one CD.
Use it when the institution already wants a neuroimaging / imaging-trial store and de-id has to happen on the way in. Needs a server, Java, and a database (PostgreSQL is the usual). Site: xnat.org.
5. DICOM Anonymizer by DVTk
Part of the DICOM Validation Toolkit. GUI and CLI. Tag-level rules, DICOMDIR, a log you can keep for an audit. The same project validates objects, so a “clean then check” loop stays in one family.
Use it when validation is part of the same job (a vendor test bench, a migration). GUI looks dated; development is slower than Orthanc or XNAT. Java. Site: dvtk.org.
6. GDCM (Grassroots DICOM)
C++ library with Python, Java, C#, PHP bindings. Fast. Handles odd SOP Classes and broken files better than a GUI wrapper. Command-line tools ship with it; there is no product UI.
Use it when you are writing the anonymizer, not buying one — a pipeline, a device, a batch on a fat node. Compile step on some platforms. Site: gdcm.sourceforge.net.
If the pipeline is already Python and you only need to touch keywords, the script on DICOM anonymization using Python is the smaller start. GDCM is the library when pydicom is too slow or the file is too strange.
7. Orthanc
Lightweight DICOM server: store, query, retrieve, a browser viewer, REST, plugins. Anonymization is one of those plugins / API calls, not the reason the process exists.
Use it as a small PACS that can de-id on export, or as the box a research tool talks to. Dedicated scrubbers still win on a one-shot bulk folder. Site: orthanc-server.com.
How to pick
A person and a folder → DicomCleaner. A script and a profile → Pixelmed or DVTk. A trial that receives studies → CTP. An archive the whole lab already uses → XNAT. Code you will ship → GDCM (or pydicom). A server that happens to de-id → Orthanc.
Date shifting and k-anonymization show up as features on some of these tools (CTP scripts, XNAT rules). k-anonymity itself — every record indistinguishable from k−1 others — is a tabular guarantee, not a reason to pick Orthanc over Pixelmed. That definition is on what is data anonymization.
Check the output. Open a slice in a viewer, dump the header, confirm the UIDs still group the series, and look at BurnedInAnnotation. A green “anonymized” label in the UI is not a Confidentiality Profile.
PYCAD builds the imaging side of products that have to de-identify for real. Case studies.
Keep Reading
Related Articles
Explore the full DICOM HubAll services, tools, and guides on this topic — in one place.
Visit Hub →