This documentation is for an unreleased (still in testing) version of Cornerstone Tools. Until it is released, its API may experience frequent breaking changes. The current stable release can be found here.

What is CornerstoneTools.js

Cornerstone Tools is a javascript library that assist in annotating, segmenting, and measuring medical images. This library also provides a framework for creating new tools, managing all tools in a consistent cohesive manner, and importing/exporting tool measurement data.

This library is not stand-alone. It builds on top of Cornerstone; a standards compliant, fast, and extensible JavaScript library that displays interactive medical images.

Getting Started

The easiest way to try out Cornerstone Tools is using the JSFiddle Hello World example. Feel free to open it in another tab and follow along as we go through some basic examples. Or, you can create an index.html file and include Cornerstone Tools with:

<!-- Dependencies -->
<script src="[email protected]"></script>
<script src="[email protected]/dist/cornerstoneMath.js"></script>
<script src="[email protected]/dist/cornerstone.js"></script>
<script src="[email protected]/dist/cornerstoneWebImageLoader.js"></script>

<!-- development version, includes helpful console warnings -->
<script src="[email protected]/dist/cornerstoneTools.js"></script>


<!-- Dependencies -->
<script src="[email protected]"></script>
<script src="[email protected]"></script>
<script src="[email protected]"></script>
<script src="[email protected]"></script>

<!-- production version, optimized for size and speed -->
<script src="[email protected]"></script>

The Installation page provides more options for installing Cornerstone Tools.


If you find the dependencies confusing, here is a high level overview of why each is included and necessary for Cornerstone Tools to function:

Dependency Purpose Alternatives
Hammer.js Adds cross-browser support for touch events and gestures N/A
Cornerstone Math Is a dependency some tools use to aid in vector math, or other complex operations N/A
Cornerstone (Core) Renders our image, and provides useful events and methods to make tools that respond to viewport changes possible N/A
Cornerstone Web Image Loader Adds the ability to "fetch" PNG / JPEG images from http or https URLs. Other image loaders exist to load NIFTI or DICOM images into Cornerstone CornerstoneWADOImageLoader (DICOM) / CornerstoneNIFTIImageLoader (NIFTI)

If you find this overly complicated and have alternative solutions to managing and using dependencies, we are always looking for new ideas on how to simplify the process. Please do not hesitate to create a GitHub issue and discuss (:


This section needs content

Adding and Using Tools

This section needs content

Next Steps

This section needs content

results matching ""

    No results matching ""