<

Choose the Right Edition
of DHTMLX JS Gantt Library for Your Project

Whether you need enterprise-grade project management with PRO Edition or open-source
flexibility with Community Edition, explore the full feature comparison to select the best
DHTMLX Gantt version for your web application.
PRO Edition
Community Edition
Export & Server Modules
All paid DHTMLX licenses (Individual, Commercial, Enterprise, Ultimate) include both PRO and Community features. Community Edition covers core functionality; PRO adds the advanced tools that make your project management software more powerful. DHTMLX Gantt PRO Edition unlocks extensions beyond basic project scheduling, including critical path analysis, auto-scheduling, resource workload diagrams, and advanced grid customization.
Critical Path Calculation

Critical Path Calculation

Every project management app needs a feature for estimating risks and deadlines, and DHTMLX Gantt delivers this with its critical path calculation, available only in the PRO edition. The critical path identifies and displays the sequence of tasks that cannot be delayed without delaying the entire project, and it also determines the shortest time in which the project can be completed. A task is considered critical when its slack time is zero, meaning any delay to that task directly affects the project's end date.

Auto Scheduling

Auto Scheduling

DHTMLX Gantt PRO Edition includes auto-scheduling, which automatically reschedules connected tasks based on their dependency links. It can recalculate the entire project schedule when task dates change, helping you manage planning without having to set every task date manually.

Constraint Control

Constraint Control

You can define scheduling restrictions that determine when a task can start or finish within a project timeline. Supported constraint types help enforce project requirements by limiting task movement based on specific dates or dependency rules. The PRO Edition of DHTMLX Gantt automatically validates these constraints during scheduling and can visually indicate tasks that violate the defined restrictions.

Resource Management

Resource Management

With DHTMLX Gantt PRO Edition, you can assign human, equipment, and financial resources to tasks and estimate each project participant's workload. The PRO edition adds a dedicated resource layer that includes resource assignments, a resource histogram, and load diagrams for clear workload visibility. You can group tasks by resource to see who is doing what and balance workloads easily using interactive resource diagrams. This turns your Gantt chart into a complete resource-management tool without leaving your web app.

Get Started with
DHTMLX Gantt PRO Edition
Not sure if PRO is right for you? The free trial lets you test
drive the full package:
30-day evaluation period
Full set of PRO features
Node.js server module included
Official technical support and complete guides
Resource Management
Undo/Redo Functionality

Undo/Redo Functionality

End-users can revert or replay changes made to tasks and links in the Gantt chart. Both features can be used independently, and the number of stored steps, the types of entities covered, and the specific actions tracked are all configurable. The extension also supports undoing changes made programmatically through code, not just through the UI, and exposes a set of events that fire before and after each undo or redo operation.

Dynamic Loading

Dynamic Loading

The PRO Edition of DHTMLX Gantt loads task data on demand, branch by branch, instead of fetching the entire dataset at once, making it well-suited for projects with a large number of tasks. When a user expands a task node, Gantt automatically sends a request to the server to retrieve only the subtasks of that item, keeping the initial load fast and lightweight.

Splitting Tasks into Subtasks

Splitting Tasks into Subtasks

DHTMLX Gantt PRO Edition allows dividing a large non-continuous task into several independent parts displayed in a single row on the timeline. At the data level, a split task is represented as a project with subtasks and can be toggled between split and standard tree view dynamically. Additional control options include expanding and collapsing split tasks from the grid, per-child placement rules that determine whether subtasks appear inline on the parent row or as subrows, and event-based filtering to show or hide specific split segments.

Task Grouping

Task Grouping

The PRO Edition allows end-users to reorganize tasks in the grid by any task attribute (by priority, assignee, or any custom property), grouping them under dynamically created virtual summary rows. Tasks that belong to multiple groups can be distributed across all relevant group rows simultaneously, and grouping can be reset at any time to restore the original view.

Multi-Task Selection and Drag-n-Drop

Multi-Task Selection and Drag-n-Drop

End-users can select multiple tasks at once and apply bulk operations to them, e.g., indenting, outdenting, or updating all selected tasks in a single re-render. When the extension is active, users can hold Ctrl or Shift to select several tasks and then drag them all horizontally along the timeline simultaneously, with the option to disable this drag-multiple behavior if needed.

Support for Unscheduled Tasks

Support for Unscheduled Tasks

The PRO Gantt Edition supports adding tasks without dates by marking them as unscheduled, which causes them to appear in the grid as empty rows with no bar rendered on the timeline. Unscheduled tasks can be toggled on or off using a configuration option that controls whether they are visible in the chart.

WBS Code Calculation

WBS Code Calculation

DHTMLX Gantt PRO Edition supports adding a dedicated WBS (Work Breakdown Structure) column to the grid, which displays hierarchical outline numbers for each task generated automatically based on the task tree structure. The outline number of any given task can be retrieved programmatically.

Assigning Calendars for Project and Resource

Assigning Calendars for Project and Resource

DHTMLX Gantt can calculate task schedules based on specific working time rules. Resource calendars define the availability of individual resources and are automatically applied to tasks assigned to them, while project calendars can be inherited by child tasks when calendar inheritance is enabled.

Support for Baselines, Deadlines, and Other Custom Elements

Support for Baselines, Deadlines, and Other Custom Elements

DHTMLX Gantt PRO Edition lets you add custom elements to the timeline area beyond baselines and deadlines, including any tailored elements. The built-in functionality supports rendering extra elements, e.g., baselines, deadlines, and task constraints by default. You can configure how baselines are displayed using three rendering modes: in the same row as the task, in a separate subrow, or in individual subrows.

Decimal Units for Tasks Durations

Decimal Units for Tasks Durations

DHTMLX Gantt allows specifying task durations in decimal format, e.g., "2.5 days", "0.5 hours", or "3.75 hours". Task durations can be represented as a fraction of an hour, day, or any other time unit supported by the duration unit configuration.

Working Days and Hours for Individual Tasks

Working Days and Hours for Individual Tasks

The PRO Edition of DHTMLX Gantt supports creating multiple independent work time calendars and assigning them to individual tasks, resources, or entire projects, allowing different parts of the schedule to follow different working schedules simultaneously. Calendars can be assigned to tasks directly, inherited from a parent project, or mapped to resources such as team members.

Hiding/Showing Grid Columns

Hiding/Showing Grid Columns

DHTMLX Gantt PRO Edition allows controlling the visibility of individual grid columns via a dedicated column property, making it straightforward to switch between simplified and detailed grid views without altering the underlying data. Column visibility can be toggled dynamically at runtime by updating the hide flag on any column and re-rendering the chart, so that end-users can show or hide columns on the fly based on context.

Hiding Time Units in the Scale

Hiding Time Units in the Scale

You can hide unnecessary time units on the time scale, display only working days while skipping weekends, or show only working hours instead of the full 24-hour day. Hiding time units from the scale does not exclude them from task duration calculations; to exclude hidden units from duration, use the work time calculation technique.

Placeholder Row for Creating New Tasks

Placeholder Row for Creating New Tasks

The feature adds an empty row at the end of the task list, providing a quick way to create new tasks directly through inline editing without relying on toolbar buttons or the lightbox form. Once the user modifies the placeholder and the task is saved, a new real task is added, and a fresh placeholder row automatically appears at the bottom.

The Community Edition of DHTMLX Gantt is distributed under the MIT license and covers a broad set of project management and task scheduling features. Below is a detailed overview of what is available out of the box.
Task Types

Task Types: Regular Tasks, Milestones, and Summary Projects

The open-source version of DHTMLX Gantt supports three core task types out of the box: regular tasks with start/end dates and progress, milestones that mark key project dates or deliverables, and summary (project) tasks whose duration is calculated automatically from their child tasks. Task type can be switched at any time via the editor panel.

Custom Types of Tasks

Custom Types of Tasks

The Community Edition of DHTMLX Gantt allows you to extend the standard task model with additional task categories tailored to specific business processes. These custom types can have their own behavior, appearance, and handling rules, enabling project data to be represented more accurately.

4 Types of Task Dependencies

4 Types of Task Dependencies

Tasks can be linked with four dependency types: finish-to-start, start-to-start, finish-to-finish, and start-to-finish. Dependency lines can be created interactively by dragging from one taskbar to another. Link appearance is customizable, so you can set a color property on each link object for custom colors, configure their width and radius for rounding corners, and apply CSS styling.

Inline Editing in the Grid

Inline Editing in the Grid

You can make any grid column editable with a single configuration option, setting built-in editors for task name, start and end dates, duration, and predecessor links. DHTMLX Gantt supports creating custom editor types with configurable validation, behavior, and focus logic.

Get Started with DHTMLX
Gantt Community Edition
Free MIT-licensed Gantt chart with essential project
management features.
No cost for basic functionality
Open source (fork on GitHub)
Community forum support
50+ locales, accessibility, smart rendering
npm i dhtmlx-gantt
Click to copy
Task Filtering

Task Filtering

Client-side filtering empowers end-users to control which tasks are displayed in DHTMLX Gantt based on specific conditions, including priority, assignee, status, or free-text search. This feature can be applied dynamically to support task searches, status-based views, resource-focused planning, and other custom project perspectives.

Sorting Columns

Sorting Columns

Sorting allows tasks in DHTMLX Gantt to be organized according to specific task properties, including name, start date, duration, or custom data fields. It helps end-users quickly arrange project information in a meaningful order, making schedules easier to analyze and manage.

Row Reordering via Drag-and-Drop

Row Reordering via Drag-and-Drop

Rich drag-and-drop functionality allows end-users to interactively modify tasks and project structures directly within the DHTMLX Gantt chart. Tasks can be moved, resized, and reordered through intuitive mouse actions, making schedule adjustments faster and more efficient. The feature also provides configuration options to control which drag-and-drop operations are available and how they affect project data.

50+ Locales

50+ Locales

DHTMLX Gantt includes built-in localization support, allowing the chart interface to be displayed in any of 50+ predefined languages, from English and French to Arabic, Japanese, and Vietnamese. A locale can be activated or switched dynamically at runtime, with changes taking effect after the chart is re-rendered. For cases where a predefined locale doesn't fully meet the requirements, a custom locale can be created from scratch.

Flexible Gantt Layout

Flexible Gantt Layout

Layout configuration allows you to customize the structure and arrangement of DHTMLX Gantt interface components. You can organize views, including the grid, timeline, scrollbars, and additional panels, to create a workspace that matches specific project requirements.

Customizable Task Edit Form

Customizable Task Edit Form

The default edit form provides an interface for viewing and editing task details directly within DHTMLX Gantt. It allows users to modify such task properties as dates, duration, and progress. The lightbox can be customized to include additional sections, fields, and buttons, making it adaptable to specific business requirements and data structures.

Creating Multiple Gantt Charts on a Page

Creating Multiple Gantt Charts on a Page

With the Community Edition of DHTMLX Gantt, you can display and manage several independent Gantt charts within the same application. Each instance maintains its own configuration, data set, and behavior, enabling different projects or views to be presented simultaneously.

RTL (Right-to-Left) Mode

RTL (Right-to-Left) Mode

You can adapt the DHTMLX Gantt interface for languages and workflows that are read from right to left. When enabled, the grid columns are displayed in reversed order, and task bars, dependency arrows, and drag handles all follow the RTL direction. The layout, scroll, and zoom features are all RTL-aware, requiring no extra CSS or JavaScript to make a localized Arabic, Hebrew, or Persian project management interface fully functional.

Smart Rendering

Smart Rendering

Smart rendering improves the performance of DHTMLX Gantt Community Edition when working with large datasets by rendering only the tasks and elements that are currently visible on the screen. As end-users scroll or navigate the chart, additional items are generated dynamically while off-screen elements are not rendered. This approach reduces memory usage and enhances responsiveness, enabling smooth interaction with large project schedules.

Read-Only Gantt Chart

Read-Only Gantt Chart

Read-only mode allows DHTMLX Gantt to display project data while preventing end-users from modifying tasks, links, or other scheduling elements. This feature, available both in PRO and Community Editions, is useful for scenarios where project information should be viewed but not edited, such as reporting, stakeholder reviews, or restricted-access environments. Read-only settings can be applied globally or configured to limit editing for specific tasks and interactions.

Accessibility

Accessibility

DHTMLX Gantt is a choice for users who rely on keyboard navigation and assistive technologies. The component provides support for accessible interactions, allowing end-users to navigate, select, and edit chart elements without requiring a mouse. The feature also includes WAI-ARIA attributes and behaviors that help screen readers interpret and interact with the Gantt chart more effectively. Two high-contrast themes (Dark and White) are included, meeting common accessibility requirements without additional CSS customization.

Keyboard Navigation and Hotkeys

Keyboard Navigation and Hotkeys

Keyboard navigation enables end-users to work with DHTMLX Gantt efficiently using keyboard controls instead of relying solely on a mouse. It supports navigating between tasks, selecting items, and performing common interactions directly from the keyboard, improving productivity and accessibility. This feature is required for WCAG 2.1 keyboard-operability compliance and works seamlessly alongside inline editing.

Progress Percent Coloring for Tasks

Progress Percent Coloring for Tasks

You can configure taskbars to be visually styled based on their completion status. By applying custom colors and styles to task elements, project teams can quickly identify progress levels and distinguish tasks according to their current state.

Built-in Skins

Built-in Skins

DHTMLX Gantt comes with a set of predefined skins, including Terrace (default), Dark, Material, Contrast Black, Contrast White, Skyblue, Meadow, and Broadway. All skins are bundled into a single CSS file and can be switched dynamically at runtime. For projects with unique branding requirements, the built-in skins can also serve as a starting point for deeper customization through the dedicated options.

Fullscreen Mode and Zoom

Fullscreen Mode and Zoom

Fullscreen and zoom features enhance navigation and visualization within the DHTMLX Gantt component. Fullscreen mode expands the Gantt chart to occupy the entire available screen area, providing a larger workspace and improved focus on project data. Zoom functionality allows users to switch between different timeline scales on mouse-wheel scroll, providing seamless navigation from a year-level overview down to hourly detail.

Tooltips

Tooltips

The built-in tooltip support allows for automatically showing a pop-up when hovering over Gantt chart elements, with configurable show/hide delays and custom HTML content. Tooltips can be enabled for task and project bars, grid rows, and milestones, and their position adjusts automatically when the cursor is near a screen edge.

Loading Data from XML and JSON Files

Loading Data from XML and JSON Files

DHTMLX Gantt Community Edition supports common structured data formats including JSON and XML, allowing the Gantt chart to be initialized with existing project information and integrated with external systems. This feature ensures that project schedules can be efficiently loaded, updated, and maintained within your web application.

To reinforce your DHTMLX-based applications, we offer special modules, which can supplement DHTMLX Gantt in various ways. There are two standalone export modules for exporting Gantt charts to the PDF or PNG formats and converting Gantt data to MPP or Primavera P6 formats. Besides, there is a Node.js build for performing calculations, scheduling analysis, and other complex tasks with Gantt data on the server.
PDF/PNG Export Module

PDF/PNG Export Module

By default, you can export DHTMLX Gantt charts to PDF/PNG as well as Excel and iCal via our online export service. However, if you have any security restrictions and need to abstain from using third-party services, the solution is to deploy a local export module on your own server. This module is shipped free of charge together with the JS Gantt package under the Commercial, Enterprise, and Ultimate licenses. In case you have the Individual license, you can purchase it separately.

MS Project Export Module

MS Project Export Module

DHTMLX Gantt also allows exporting and importing data to and from MS Project. Likewise, PDF and PNG formats, you can benefit from an online export service to convert Gantt data to an MPP file. If you prefer exporting data locally and keeping data safe to yourself, you can install an MS Project local export module. It goes free of charge under the Enterprise and Ultimate license and can be bought separately in addition to the Individual or Commercial license of DHTMLX Gantt.

Node.js Server Module

Node.js Server Module

DHTMLX Gantt has a separate build running in the Node.js environment. Its purpose is to conduct a variety of clientless calculations. It is crucial for synchronizing simultaneous user actions, scheduling tasks automatically on multiple devices, integrating Gantt into complex ERP and CRM systems, etc. The build is shipped free of charge together with the Ultimate license. Otherwise, you can purchase it in addition to any other Gantt license.

Ready to unlock all PRO features?
Download a 30-day trial of DHTMLX Gantt PRO and test advanced
scheduling, resources, and export tools in your projects.