Common Workflow Language

The Common Workflow Language (CWL) is an informal, multi-vendor working group consisting of various organizations and individuals that have an interest in portability of data analysis workflows. Our goal is to create specifications that enable data scientists to describe analysis tools and workflows that are powerful, easy to use, portable, and support reproducibility.

CWL builds on technologies such as JSON-LD and Avro for data modeling and Docker for portable runtime environments.

CWL is designed to express workflows for data-intensive science, such as Bioinformatics, Medical Imaging, Chemistry, Physics, and Astronomy.

CWL User Guide

User guide for the current stable specification (v1.0), provides a gentle introduction to writing CWL command line tool and workflow descriptions.

CWL Specification

The current stable specification is v1.0:

Older drafts: draft-1, draft-2, draft-3


Please cite


Some of the software supporting running Common Workflow Language tools or workflows:

We continuously run the CWL conformance tests on several implementations:


Github repository of example tools and workflows.

Development and testing

The CWL project is on Github.


There is a Jenkins server maintained by Curoverse that runs tests for the reference implementation, builds and uploads packages, and builds and uploads Docker images:

Current build status: Build Status

Community and Contributing

If you are interested in learning more or contributing ideas or code, come chat with us on Gitter, check out #CommonWL on Twitter, join the mailing list common-workflow-language on Google Groups or fork the repository and send a pull request!


Your CWL Community Engineer, Michael R. Crusoe, publishes a blog about his work with weekly updates at

Code of Conduct

The CWL Project is dedicated to providing a harassment-free experience for everyone, regardless of gender, gender identity and expression, sexual orientation, disability, physical appearance, body size, age, race, or religion. We do not tolerate harassment of participants in any form.

This code of conduct applies to all CWL Project spaces, including the Google Group, the Gitter chat room, the Google Hangouts chats, both online and off. Anyone who violates this code of conduct may be sanctioned or expelled from these spaces at the discretion of the leadership team.

For more details, see our Code of Conduct

Participating Organizations

Individual Contributors