Adopting the Computable Document Format (CDF)

Make CDFs an everyday way to communicate. Join authors, educators, researchers, and other professionals in using CDF technology to develop interactive books, courseware, reports, and applications - without specialized programming knowledge.

Develop all aspects of your documents, reports, info apps, and applications, from text to graphics to interactivity, with Mathematica. Its extensive automated functions make creating interactive graphs and diagrams easy, taking as little as one line of code.

Authoring CDF
Making Document Interactive with CDF


Getting Started with CDF

You can create CDFs with Mathematica. Additional creation methods will be coming in the future, ranging from Wolfram|Alpha to on-demand online Mathematica services.

How to Get Started

  1. Watch brief videos:
  2. Download a free trial of Mathematica to create your own CDFs.
    Comprehensive documentation is available on and many other topics.
  3. Repurpose the source code of thousands of CDFs available from the Wolfram Demonstrations Projects. For example, a Demonstration's source code could be as straightforward as the code shown below.
    Simple Source Code
  4. Want to learn more? Online CDF courses are coming soon.

Example: Coding Interactivity

Developing interactive content from scratch can be as easy as using natural language with Mathematica's built-in textual parsing capabilities. The following example illustrates how to detect edges in an image and is also available for download as Mathematica notebook.

  1. Paste an image and assign it to a symbol:
    Erster Schritt
  2. Tell Mathematica what you want to do as antural language input by typing: "= detect edges in image":
    Zweiter Schritt
  3. When you evaluate the cell, your textual input is interpreted as Mathematica syntax:
    Dritter Schritt
  4. Add interactivity with a simple high-level function and parameters:
    Vierter Schritt

Want to learn more? Online CDF courses are coming soon. Learn more now from these tutorials: