We use cookies to give you the best experience on our website. If you continue to browse, then you agree to our privacy policy and cookie policy. Image for the cookie policy date
Unfortunately, activation email could not send to your email. Please try again.
Syncfusion Feedback

Trusted by the world’s leading companies

Syncfusion Trusted Companies

Overview

The JavaScript Gantt Chart is a project planning and management tool that provides a Microsoft Project-like interface to display and manage hierarchical tasks with timeline details. Its intuitive user interface lets you visually manage tasks, resources, and task relationships in a project.


Why choose Syncfusion JavaScript Gantt Chart?

JavaScript Gantt Chart high performance

High performance

Virtual scrolling in the JavaScript Gantt Chart allows you to load large amounts of data without performance degradation.

JavaScript Gantt Chart seamless data binding

Seamless data binding

Bind data seamlessly with various local and remote data sources such as JSON, OData, WCF, and RESTful web services with the help of a data manager.

JavaScript Gantt Chart resolution

Adapts to any resolution

Gantt Chart has a highly responsive layout and an optimized design for desktops, touchscreens, and phones. It works well on all mobile phones that use iOS, Android, or Windows OS.

JavaScript Gantt Chart elegant animation

Elegant animation

The Gantt Chart for JavaScript provides fluid animation to present data with smooth transitions.

JavaScript Gantt Chart template designs

Create your own template designs

Template support is used to customize taskbars and grid columns. Customize the timeline header for a better view of the data.

JavaScript Gantt Chart timeline zooming

Get clear view with timeline zooming

Increase or decrease the width of timeline cells and change the timeline units dynamically with zooming. This lets you clearly view tasks in a project, from minute to decade.

JavaScript Gantt Chart customizable themes

Attractive, customizable themes

Cutting-edge design with several built-in themes, such as Fluent, Tailwind CSS, Bootstrap, Material, and Fabric. Utilize the online Theme Studio tool to customize themes of Gantt Chart easily.

JavaScript Gantt Chart globalization and localization

Globalization and localization

Enable users from different locales to use the control by formatting dates, currency, and numbering to suit preferences.


JavaScript Gantt Chart Code Example

Easily get started with the JavaScript Gantt Chart using a few simple lines of HTML and TS code example as demonstrated below. Also explore our JavaScript Gantt Chart Example that shows you how to render and configure a Gantt Chart in JavaScript.

<div class="control-section">
    <div class="content-wrapper">
        <div id="DefaultFunctionalities">
        </div>
    </div>
</div>
import { loadCultureFiles } from '../common/culture-loader';
import { Gantt, Selection } from '@syncfusion/ej2-gantt';
import { projectNewData } from './data-source';

/**
 * Default Gantt sample
 */

Gantt.Inject(Selection);

    loadCultureFiles();
    let gantt: Gantt = new Gantt(
        {
            dataSource: projectNewData,
            height: '450px',
            taskFields: {
                id: 'TaskID',
                name: 'TaskName',
                startDate: 'StartDate',
                endDate: 'EndDate',
                duration: 'Duration',
                progress: 'Progress',
                dependency: 'Predecessor',
                child: 'subtasks'
            },
            labelSettings: {
                leftLabel: 'TaskName'
            },
            projectStartDate: new Date('03/24/2019'),
            projectEndDate: new Date('07/06/2019')
        });
    gantt.appendTo('#DefaultFunctionalities');

Timeline

The JavaScript Gantt Chart supports different configurable timeline views such as hour, day, week, month, and year.


Types of relationships among tasks in JavaScript Gantt Chart

Task scheduling and relationships

Users can easily plan and schedule tasks in both auto and manual mode to track their projects. Create relationships between different tasks in project management. When a project is complex and contains many tasks that depend on the completion of others, task dependencies enable you to decide when a task can be started or finished using finish-to-start, start-to-finish, start-to-start, and finish-to-finish task link types.


Critical path

The JavaScript Gantt Chart offers support for the critical path, representing a series of tasks that directly influence the calculated finish date of a project. If any task within the critical path is delayed, it leads to a delay in the timeline. This feature is particularly useful for managing projects with fixed deadlines, allowing users to identify and prioritize tasks crucial for timely delivery.

JavaScript project management tool - Critial path.


JavaScript project management tool - Split task.

Split and merge tasks

The split task feature allows users to split a task or interrupt the work during planned or unforeseen circumstances. It makes the view dynamic and interactive, improving the visualization of the project taskbar. Multiple segments can be split and merged within a taskbar.


Resource view

Visualize the list of tasks assigned to each resource in a hierarchical manner. Multiple tasks assigned to each resource can be visualized in a row when the records are in a collapsed state.

JavaScript Gantt Chart resource view


Rows in JavaScript Gantt Chart

Row

Rows in Gantt Chart represents each tasks or data object information from the data source. It supports expanding / collapsing child rows, reordering of rows, indent / outdent rows to change its hierarchy levels and much more features.


Column

Columns define the schema of a data source in HTML5 Gantt Charts. They support formatting, column definitions, column chooser, column menu, column reorder, and other important features.

Columns in JavaScript Gantt Chart


Sorting in JavaScript Gantt Chart

Sorting

The Gantt Chart allows user to sort a column in either ascending or descending order by simply clicking on the header. A Ctrl + header click performs multi-sorting.


Filtering

Data across all columns can be filtered using the filter option in each column and search option in the toolbar. It supports two filter types, Excel-like filter and menu filter. The Gantt Chart filter allows users to choose appropriate filter types, define their own custom filtering logic, and customize the filtering UI based on their application needs. Filtering with related parent or child records can be defined.

Filtering in JavaScript Gantt Chart


JavaScript Gantt Chart selection

Selection

JavaScript Gantt Chart allows users to select rows or cells by simply clicking on them. One or more rows or cells can be selected by holding the Ctrl or Shift key, or programmatically.


Editing

The Gantt Chart provides full support to create, read, update, and delete (CRUD) operations. In addition to built-in editor controls to edit a particular column value, using template support users can create custom editor controls that suit their application needs. Users can also edit the tasks fields directly in their respective cells using a dialog or interactively using taskbars.


JavaScript Gantt Chart undo redo.

Undo redo

The Undo feature enables users to revert the most recent action performed in the Gantt Chart. Whether it is modifying tasks, adjusting dependencies, or any other action within the interface, the undo feature provides users with the ability to backtrack the changes as needed. Additionally, the redo feature complements the undo functionality by allowing users to reapply an action that was previously undone.


Virtual scrolling

Virtual scroll in JS Gantt Chart allows you to load large amounts of data without performance degradation. In row virtualization mode, all tasks are fetched initially from the datasource and rendered in the DOM within a compact viewport area.

JS Gantt Chart Virtual Scrolling


Auto focus tasks in JavaScript Gantt Chart.

Auto scroll to taskbar on row selection

Focus on the tasks that are not visible but scheduled later along the timeline by selecting their rows in the grid section.


Highlight days and events

Highlight important days or events in a project using event markers.


Event markers to note the special events in JavaScript Gantt Chart.

JavaScript Gantt Chart toolbar.

Toolbar

Use toolbar options for editing, searching, expanding, collapsing, and deleting selected tasks along with an option for adding a new task.


Baselines

Compare the current task’s progress with the planned timeline using baselines.

Visualize the actual and project timeline in JavaScript Gantt Chart.


Mark the allocated resource for a task in JavaScript Gantt Chart.


Resource Allocation

Allocate multiple resources like staff, equipment, and materials to each task using JavaScript Gantt Chart component.

Labels

Labels convey information about tasks, timelines, dependencies, and resource allocation, and facilitate understanding, communication, decision making, and project management.


Frozen columns

Frozen columns allow users to navigate and interact with the Gantt Chart more efficiently. They can quickly locate specific tasks, identify dependencies, and understand the project’s overall timeline without constantly scrolling back and forth to reference key information.


Mark important or special tasks in JavaScript Gantt Chart

Data markers

Display events for a specific task that can be placed on the timeline on any given date.

Taskbar tooltip in JavaScript Gantt Chart

Tooltip

The tooltip displays task information while the mouse hovers over the task and editing actions for the taskbar and connector lines.

Highlight holidays, if any, in between weeks in JavaScript Gantt Chart

Holidays

Display nonworking days using the holidays feature.


Interactive features

Row height in JavaScript Gantt Chart

Row height and taskbar height

Row height is a major factor when displaying records in the view port and it can be customized effortlessly based on the application’s UI requirement. The height of child taskbars and parent taskbars can be customized using the taskbarHeight property.

Context menu in JavaScript Gantt Chart

Context menu

The context menu improves user action with pop-up menu. It appears when a cell or header is right clicked. In addition to built-in default menu items, it allows you to add custom context menu items.

JavaScript Gantt Chart Exporting

Exporting

Easily export the Gantt Chart component in file formats such as Excel or CSV.


Accessibility

Keyboard navigation in JavaScript Gantt Chart

Keyboard navigation

The HTML5 JavaScript Gantt Chart ensures that every cell is keyboard accessible. Major features like sorting, selection, and editing can be performed using keyboard commands alone; no mouse interaction required. This helps in creating highly accessible applications using this component.

Screen reader support in JavaScript Gantt Chart

Screen reader

The JavaScript Gantt Chart has complete WAI-ARIA accessibility support. The Gantt Chart UI includes high-contrast visual elements, helping visually impaired people have the best viewing experience. Also, valid UI descriptions are easily accessible through assistive technologies such as screen readers.


Mobile optimized and touch friendly

The JavaScript Gantt Chart has a highly responsive layout and a fine touch-interactions support for desktops, touch screens, and smart phones.

Touch support in JS Gantt Chart

Touch support

User-friendly touch gestures and an interactive UI design help produce the best user experience. All Gantt Chart features work on touch devices with zero configuration.

Responsiveness in HTML5 Gantt Chart

Responsive

The responsive feature allows the JavaScript Gantt Chart layout to be viewed on various devices. It is also possible to hide specific columns for particular screen sizes using column-based media query support.






Other supported frameworks

The Gantt Chart component is also available in Blazor, Angular, React, and Vue frameworks. Check out the different Gantt Chart platforms from the links below,

Supported browsers

The JavaScript Gantt Chart works well with all modern web browsers such as Chrome, Firefox, Microsoft Edge, Safari, and Opera.

Supported browsers in JS Gantt Chart

85+ JAVASCRIPT UI CONTROLS

Frequently Asked Questions

The JavaScript Gantt Chart with rich set of features offers the following:

  • A complete project management tool to schedule and plan projects.
  • Manage, and monitor specific tasks and resources in a project.
  • Intuitive user interface to manage complex projects on the go.
  • One of the best JavaScript Gantt Chart in the market that offers feature-rich UI to interact with the software.
  • Simple configuration and API.
  • Support for all modern browsers.
  • Mobile-touch friendly and responsive.
  • Expansive learning resources such as demos and documentation to learn quickly and get started with JavaScript Gantt Chart.

You can find our JavaScript Gantt Chart demo, which demonstrates how to render and configure the Gantt Chart.

No, this is a commercial product and requires a paid license. However, a free community license is also available for companies and individuals whose organizations have less than $1 million USD in annual gross revenue, 5 or fewer developers, and 10 or fewer total employees.

A good place to start would be our comprehensive getting started documentation.

Our Customers Love Us

Having an excellent set of tools and a great support team, Syncfusion reduces customers’ development time.
Here are some of their experiences.

Rated by users across the globe

Transform your applications today by downloading our free evaluation version
Download Free Trial No credit card required.

Awards

Greatness—it’s one thing to say you have it, but it means more when others recognize it. Syncfusion is proud to hold the following industry awards.

Recent activities in JavaScript Gantt Chart tutorials and blogs

The JavaScript Gantt Chart tutorial videos and blog posts will guide you in building your first app with this JavaScript controls. They provide problem-solving strategies, describe features and functionalities, announce new feature releases, explain best practices, and showcase example scenarios. Explore our latest posts on our blog and tutorial video channels for JavaScript Gantt Chart updates.

Up arrow icon
Live Chat Icon For mobile