TaskJuggler

TaskJuggler is a free open-source scheduler that compiles text project definitions into resource-constrained schedules, cost calculations and Gantt/HTML reports.

taskjuggler.org

Overview

TaskJuggler uses a project-description language rather than a graphical task editor. Define dependencies, effort, priorities, availability and working calendars, then let its scheduler calculate dates and resolve resource conflicts. Multiple scenarios provide baseline and what-if analysis; reports include Gantt, HTML, CSV and iCalendar outputs. It suits planners comfortable with a command shell, text editor and Ruby runtime, including repeatable plans in version control. Actual resource bookings and freezing completed work preserve history when recalculating. Unfixed past allocations can move as the optimizer produces another valid schedule. GPL-2.0 source and RubyGems distribution are free; the official site documents version 3.8.4 released in July 2025.
More product details

Product

Documentation
taskjuggler.org/manual
License ID
  • GPL-2.0
License Model
Open source
Release Notes Url
taskjuggler.org/download.html
Solution Kind
Application
Source Repository Url
github.com/taskjuggler/TaskJuggler
Version
3.8.4

Who it is for

Use Cases
  • Project scheduling
  • Resource planning

Vendor · TaskJuggler

Website Url
taskjuggler.org

Before you choose

Check before choosing

  • Requires Ruby and text-based definitions; no graphical task editor. Freeze actual bookings/completed work before recalculation to preserve past allocations.

Features

Project Scheduling

Partial supportBuilt in
What you can do
  • Calculate schedules from dependencies, effort and resource calendars with automatic resource leveling and multiple baseline/what-if scenarios.
More details & conditions: Project Scheduling
What you need
  • Requires Ruby and text-based definitions; no graphical task editor. Freeze actual bookings/completed work before recalculation to preserve past allocations.

Bar Chart

Partial supportBuilt in
What you can do
  • Calculate schedules from dependencies, effort and resource calendars with automatic resource leveling and multiple baseline/what-if scenarios.
More details & conditions: Bar Chart
What you need
  • Requires Ruby and text-based definitions; no graphical task editor. Freeze actual bookings/completed work before recalculation to preserve past allocations.

Project Planning

Partial supportBuilt in
What you can do
  • Calculate schedules from dependencies, effort and resource calendars with automatic resource leveling and multiple baseline/what-if scenarios.
More details & conditions: Project Planning
What you need
  • Requires Ruby and text-based definitions; no graphical task editor. Freeze actual bookings/completed work before recalculation to preserve past allocations.

Dependency Tracking

Partial supportBuilt in
What you can do
  • Calculate schedules from dependencies, effort and resource calendars with automatic resource leveling and multiple baseline/what-if scenarios.
More details & conditions: Dependency Tracking
What you need
  • Requires Ruby and text-based definitions; no graphical task editor. Freeze actual bookings/completed work before recalculation to preserve past allocations.

Project Tracking

Partial supportBuilt in
What you can do
  • Use scenarios as baselines and record actual bookings before recalculating the remaining schedule.
More details & conditions: Project Tracking
What you need
  • Requires Ruby and text-based definitions; no graphical task editor. Freeze actual bookings/completed work before recalculation to preserve past allocations.

Resource Management

Partial supportBuilt in
What you can do
  • Calculate schedules from dependencies, effort and resource calendars with automatic resource leveling and multiple baseline/what-if scenarios.
More details & conditions: Resource Management
What you need
  • Requires Ruby and text-based definitions; no graphical task editor. Freeze actual bookings/completed work before recalculation to preserve past allocations.

Workflow details

Work Views
  • Gantt
Resource Leveling
Yes
Baselines
Unit
baselines
Metric
Schedule baselines
Conditions
Use scenarios as baselines and record actual bookings before recalculating the remaining schedule. Trace reports append dated CSV snapshots; effort is stored in resource-days. Projects can be combined with a central resource database, but schedules and report definitions are authored in the project description language.
Planning
  • Gantt
  • Task dependencies
  • Milestones
  • Resource planning
Constraints
  • Capacity
  • Calendars
  • Budgets
  • Competing assignments
Measurement
  • Name
    Execution comparison
    Description
    Use scenarios as baselines and record actual bookings before recalculating the remaining schedule. Trace reports append dated CSV snapshots; effort is stored in resource-days. Projects can be combined with a central resource database, but schedules and report definitions are authored in the project description language.
    Evidence URL
    taskjuggler.org/manual/Intro.html
Granularity
  • Name
    Planning levels
    Description
    Text definitions describe projects, task hierarchies, resources, allocations and scenarios. Reports aggregate selected tasks or resources; effort is represented in resource-days. Editing definitions uses a text editor, followed by schedule calculation and report generation.
    Evidence URL
    taskjuggler.org/manual/Intro.html
Workflow boundary and exception handling
  • Use scenarios as baselines and record actual bookings before recalculating the remaining schedule. Trace reports append dated CSV snapshots; effort is stored in resource-days. Projects can be combined with a central resource database, but schedules and report definitions are authored in the project description language.
Workflow boundary and exception handling
  • Use scenarios as baselines and record actual bookings before recalculating the remaining schedule. Trace reports append dated CSV snapshots; effort is stored in resource-days. Projects can be combined with a central resource database, but schedules and report definitions are authored in the project description language.

Pricing

TaskJuggler Open Source

Free option

Free

Trial Available
No
Plan details & limits
Business Model
  • Free
Limits
  • Metric
    Runtime and input
    Conditions
    Requires Ruby and text-based definitions; no graphical task editor. Freeze actual bookings/completed work before recalculation to preserve past allocations.

Technical details

API

Access
Public
Programmatic access
Yes
Documentation
taskjuggler.org/tj3/doc/index.html
Protocols
  • Ruby API

Deployment

Client Channels
  • Cli
Client OS
  • Platform
    Linux
  • Platform
    Unix
    Limitations
    • The installation guide says this platform should work, but it is not currently tested or maintained as a supported platform. Ruby and its dependencies must be installed separately.
  • Platform
    Windows
    Limitations
    • The installation guide says this platform should work, but it is not currently tested or maintained as a supported platform. Ruby and its dependencies must be installed separately.
  • Platform
    macOS
    Limitations
    • The installation guide says this platform should work, but it is not currently tested or maintained as a supported platform. Ruby and its dependencies must be installed separately.
Delivery Models
  • On premises

Implementation

Delivery Mode
  • Self service

Data

Export Formats
  • CSV
  • HTML
  • ICS
  • Microsoft Project XML (MSPDI)
  • Clarity XOG XML

Customization

Skill Level
  • Developer required
Supported Scopes
  • Project definitions
  • Report definitions
  • Scenarios

Support

Channels
  • Community
  • Knowledge base
Training Formats
  • Documentation

Reviews

Independent experiences, reviewed before publication.

Write a review

No reviews yet.

Be the first to share your experience with TaskJuggler.

Add a product

Search to find a product.