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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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 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.
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.
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.
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.
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 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.
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.
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.
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.
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.
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.
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 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 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.
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 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.
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.
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 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.
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.
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.
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.
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.
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.