← Back to blog
Guide

The Gantto User Guide

Published 29 September 2026

Everything you need to plan a project in Gantto, from your first task to critical path analysis. No login, no install. Open the file and start planning.

Getting started

Gantto is a single HTML file. There's nothing to install and nothing to configure.

  1. Open gantto.html in any modern browser.
  2. You'll land on a blank plan with the task list on the left and the Gantt chart on the right.
  3. Click + Add Task to create your first task.
  4. Give it a name, a start date, and an end date. It appears on the Gantt chart immediately.

There's no account to create and no data leaves your machine.

Saving and loading your plan

Open the File menu for:

Save often. If you close the tab without saving, unsaved changes are lost.

Building a plan

The task list and edit panel

Click + Add Task, or select any task, to open the Edit Task panel on the right. It covers every property of that task:

In the Grid view (see below), you'll also see Status (Not Started, In Progress, and similar) and an ALLOC. column for resource allocation.

Subtasks and hierarchy

Tasks can be nested to build a work breakdown structure. Nested tasks are collapsible. Use Collapse all / Expand all (in the View menu, under Display) when you want to see the big picture or drill into one area.

Dependencies

Link tasks together and Gantto draws the connection as an arrow on the Gantt chart. The Dependencies toggle (View menu, under Display) switches these arrows on or off. Dependencies feed directly into critical path analysis, so it's worth setting them up even on simple plans.

Gantto supports four dependency types:

TypeMeaning
FS - Finish to StartThe successor can't start until its predecessor has finished (the common case)
SS - Start to StartThe successor can't start until its predecessor has started
FF - Finish to FinishThe successor can't finish until its predecessor has finished
SF - Start to FinishThe successor can't finish until its predecessor has started

Enter links in a task's Predecessors field (Edit panel or Grid View), as a comma-separated list of <task row><type><±lag>, for example 3FS, 5SS+2, 4FF-1d. Lag and lead are whole days only; a lag counts calendar days and then snaps forward to the next working day. Don't put a space inside an entry, 3 FS is rejected.

There's no way to create a link by dragging between two bars on the Gantt chart, dragging a bar only moves or resizes that task, it never creates a dependency.

A predecessor sets a minimum, not an exact instruction to start immediately: it can push a task later but it never stops you choosing to start later still, on purpose, with a gap. Drag a dependency-linked task's bar later, or type a later Start, End or Duration in the Edit panel or Grid View, and Gantto holds that as the earliest date it can now start (shown as an automatic Start No Earlier Than constraint, visible and removable from the Edit panel or Grid View like any other constraint). Drag a bar, or type a Start, earlier than the dependency allows and Gantto checks with you first (a typed End or Duration keeps the dependency's own date instead), since that means overriding the schedule the dependency would otherwise produce - a message tells you this happened and names the predecessor (or constraint) that won, so it's never a silent revert. The Edit panel's Predecessors field, and the Gantt bar tooltip, also show which predecessor is currently driving a linked task's dates (or which constraint is holding it instead). Clearing the constraint back to None returns the task to being driven purely by its dependency again.

Milestones

Tick Milestone on a task and it renders as a diamond on the Gantt chart instead of a bar.

Working days

Settings has a Working Days tab where you set which days of the week count as working days for the plan. This isn't cosmetic, changing it recalculates every task's end date and re-runs your dependencies, so double-check it early, ideally before you've built out much of the plan. New plans default to Monday to Friday, so set this deliberately if your plan works a different week.

One gap worth knowing: the weekend shading on the Gantt chart itself always shows Saturday/Sunday regardless of what you've set here.

Views

Switch views from the View menu in the toolbar.

Gantt

The default view. Task bars against a timeline, with the today line, zoom controls, and hover tooltips showing full task detail.

Grid (Solo)

A full-width, spreadsheet-style view of the whole plan, with inline editing on most fields (not every field is editable inline) and the same hierarchy and selection as the Gantt task list. Useful for reviewing or bulk-editing data rather than reading the timeline.

Late Tasks (Free)

A filtered list of tasks that are overdue and still incomplete: a Finish date in the past, and less than 100% complete. Parent/summary tasks never appear here. Sorted with the most overdue first. Clicking a row opens the same Edit Task panel as anywhere else, this is a read-oriented view for spotting problems, not a separate place to edit from. If nothing qualifies, it simply says "No late tasks. You're on track."

Dependency Map (Solo)

A node-and-edge diagram of how your tasks connect, useful once a Gantt chart gets too busy to read.

Display options

Found in the View menu.

Baselines (Solo)

A way to compare your current plan against an earlier snapshot in time.

Sprints (Free)

Adds a coloured date-range band along the top of the Gantt timeline, useful for marking out sprint or phase windows visually.

Worth knowing before you rely on this: there's no field anywhere that links a task to a sprint. It's a purely visual band, not a way to group or filter tasks the way sprints work in tools like Jira. You can add sprints one at a time or use Bulk Create to generate several evenly spaced sprints at once. Overlapping sprints are flagged with a warning but not blocked. Sprint bands only appear on the Gantt timeline, not in Grid, Late Tasks, or the Dependency Map.

Critical path and schedule risk (Solo)

Click Highlight Critical Path in the Gantt or Dependency Map view to see which tasks currently determine your plan's finish date. Critical tasks are highlighted, and tasks with scheduling flexibility show their float (how much they can move before affecting the finish).

Two things worth knowing:

Re-check the highlight after any meaningful change, changed dates, a re-pointed dependency, or a new constraint, since it's a view setting that recalculates on demand rather than something that silently updates in the background.

Resource Management (Solo)

Enable Resource Management to track allocation across your team by percentage rather than raw task count.

Selecting, editing, and moving things around

Right-click for quick actions

Right-click a task for a context menu: Undo, Edit Task, Add Task, Add subtask, Duplicate, View in Dependency Map, Indent, Outdent, Highlight colour, and Delete. In the task list this only opens from the Name cell, not other columns; on a Gantt bar it opens from anywhere in the row. Right-clicking a node in the Dependency Map gives a shorter version: Edit Task, Delete, and Focus on this task.

If you're on a Mac trackpad with no separate right-click button, Ctrl-click does the same thing, that's a standard macOS convention for opening a context menu, not something specific to Gantto.

To select multiple tasks, use Select mode and tick their checkboxes. Ctrl/Cmd-click and Shift-click don't support multi-selection.

Select mode and bulk actions

Click Select in the toolbar to show a checkbox on every row (task list and Grid View; not available on the Dependency Map). Click checkboxes to build your selection, there's no drag-select or range-select, it's click-each-one. A "select all" checkbox in the header selects everything currently visible, respecting whatever filters or collapsed groups are active.

With anything selected, a bulk action bar appears with five options: Mark Complete, Indent, Outdent, Delete, and Clear (deselects everything without changing any data). Turning Select mode off also clears the selection.

Indent, Outdent, and reordering

Build your hierarchy from the Edit panel's Indent/Outdent buttons, the right-click context menu, or in bulk from Select mode. Indenting makes a task a child of the task directly above it at the same level; if there's nothing to indent under, it simply does nothing rather than showing an error. There's no maximum nesting depth. Dependencies are tracked by task ID, not by position, so reshaping the hierarchy never breaks a dependency link.

Move Up and Move Down (also in the Edit panel) reorder a task among its siblings without changing its depth, different from Indent/Outdent, which change depth.

You can also drag a task to reorder it, using the drag-handle icon on the row, not the row itself. Dragging a parent always brings its whole subtree along with it.

Undo

Ctrl+Z (or Cmd+Z on Mac) undoes your last action. It's a session-only history of up to 10 steps, it clears when you reload the page, and there's no redo. While your cursor is in a text field, Ctrl+Z undoes your typing first, as you'd expect, rather than reaching back into the app's history.

Undo covers almost everything: edits, dragging or resizing a Gantt bar (one step per drag), adding or deleting tasks, indent/outdent, reordering, bulk actions, working days and holidays, resource changes, and imports.

One thing is deliberately not covered by Undo: any baseline action (saving, renaming, showing, hiding, or deleting a baseline).

That's also the complete list of keyboard shortcuts in Gantto: Ctrl+Z / Cmd+Z to undo, Escape to close whatever menu or panel is open, and Enter to save the Edit panel. Ctrl+P is just your browser's normal print, not something Gantto adds.

Resizing columns and panes

Drag a column header's resize handle to resize it, or double-click it to reset to default. Column widths are remembered on your machine, but they're a local display preference, not part of the plan file, so they won't travel with a saved plan or a Share Read Only file.

In the Gantt view, drag the divider between the task list and the timeline to resize that split. This also persists locally. Grid View has no split pane to resize.

Moving and resizing task bars directly on the Gantt chart

Import, export, and sharing

File formats (More menu)

Export:

Import:

Before using Import from MS Project or Paste > Replace Plan, save your current plan first. Both replace what's open with the imported content, so anything unsaved in your current plan is lost, not carried into the new one. Starting from a blank New Plan is one safe way to make sure there's nothing to lose. This doesn't apply to Append tasks from text or Paste > Append, both of those add to your current plan rather than replacing it.

Sharing (Share menu)

AI menu

All four AI menu items are free. None of them send anything to an AI service themselves, Gantto has no built-in AI, every one of these is a clipboard round-trip between Gantto and whichever AI tool you already have open (Claude, ChatGPT, or similar).

Activating your licence

If you've been given a Solo licence key:

  1. Open the upgrade popup (or find licence activation in Settings).
  2. Enter your key, in the format GANTTO-SOLO-XXXX-XXXX-XXXX.
  3. Activate.

Every feature is visible in the interface regardless of licensing, nothing is hidden. Clicking a Solo feature without a licence shows an upgrade prompt; activating a key removes the lock and the popup for good.

Tips for rolling this out to a team

Questions or feedback on the app itself? We'd love to hear it, that's exactly what shapes what gets built next.

Written by Simon, the developer building Gantto in the UK.
Microsoft Project is a trademark of Microsoft Corporation. Gantto is an independent tool and is not affiliated with or endorsed by Microsoft.