The Gantto User Guide
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.
- Open
gantto.htmlin any modern browser. - You'll land on a blank plan with the task list on the left and the Gantt chart on the right.
- Click + Add Task to create your first task.
- 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 Plan / Save Plan As: save your plan to a file. Use Save Plan As when you want a separate copy or version.
- Load Plan: open a plan you saved earlier.
- New Plan: start a fresh, blank plan.
- Plan History (Solo): a saved history of earlier states of the plan you can step back through.
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:
- Name, Task Ref (a free-text reference field; there's no default prefix, you can set one in Settings if you want task numbers to look like
GTT-102, for example), Milestone (checkbox), Bar Label (a short label displayed to the right of the task's Gantt bar), Notes - Start date, End date and Duration: the three are always kept consistent, whichever one you edit.
- Edit Start and End moves to match, keeping Duration the same.
- Edit Duration (enter as a number plus a unit,
6dfor days or6hfor hours) and End is recalculated from Start. - Edit End and Duration is recalculated as the working-day span between Start and End; Start stays put.
- Constraint: pins a task's date against a specific rule (for example, must-start-on or must-finish-on) so it holds even when the plan recalculates around it. Defaults to None.
- Deadline: a target date to flag against, separate from a constraint. If the task's real finish lands later than the deadline, Gantto flags it.
- Actual Start / Actual Finish: record when work genuinely started or finished, separate from the planned dates.
- Assigned to
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:
| Type | Meaning |
|---|---|
| FS - Finish to Start | The successor can't start until its predecessor has finished (the common case) |
| SS - Start to Start | The successor can't start until its predecessor has started |
| FF - Finish to Finish | The successor can't finish until its predecessor has finished |
| SF - Start to Finish | The 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.
- Insights: surfaces the critical path, near-critical chains, and schedule risk (see below).
- Focus Mode: pick one task and see it plus its upstream and downstream dependency chain, rather than the whole network at once. Built for large plans where the full map gets hard to read.
Display options
Found in the View menu.
Baselines (Solo)
A way to compare your current plan against an earlier snapshot in time.
- Save Snapshot records each task's start and finish dates only, nothing else (no hierarchy, percent complete, assignee, or notes). It's a date-comparison tool, not a full undo point.
- Up to 5 baselines per plan.
- Only one baseline can be shown at a time. When shown, it draws a translucent "ghost bar" under each task's live bar at its snapshotted dates, on the Gantt timeline only, it doesn't appear in Grid, Late Tasks, or the Dependency Map.
- A task created after the snapshot simply has no ghost bar; that's expected, not an error.
- Baseline actions aren't undoable via Ctrl+Z.
- Baselines travel with the plan file through Save, Load, Plan History, and Share Read Only.
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:
- This is a pure calendar-day calculation. It deliberately doesn't account for every working-day exception or holiday your real calendar might have, so treat the dates as a strong guide rather than an exact match to a full enterprise scheduling engine.
- Schedule Risk is a simple flag, not a graded score: it marks a non-critical task whose real scheduled finish lands on or after the latest critical task's finish. It's shown in Dependency Map Insights, and in Gantt/Grid once Highlight Critical Path is switched on.
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.
- Add resources to a pool and assign them to tasks from the edit panel.
- Set an Allocation % per task to show how much of that person's time it needs.
- Typing a new name directly into the assignee field, rather than picking an existing resource, automatically creates that person in the resource pool at 100% capacity.
- Gantto flags overallocation when someone's combined allocation across tasks goes over whatever capacity that resource is configured at, not a flat 100%. If you've set someone at 50% capacity (a part-time or shared resource), their overallocation flag triggers past 50%, not 100%.
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
- Drag the middle of a bar to move the whole task. Its duration stays the same, both dates shift together.
- Drag the right edge of a bar to resize it. This only ever changes the finish date, there's no way to drag the start date from the bar itself; if you need to change the start, either move the whole bar and then fix the finish separately, or edit both dates directly in the panel.
- Milestones can't be dragged at all. Change a milestone's date from the Edit panel or Grid View.
- Parent/summary bars can't be resized by dragging, their dates are calculated from their children.
- Neither moving nor resizing a bar by drag is undoable (see above).
Import, export, and sharing
File formats (More menu)
Export:
- Download CSV (Solo): the task list as a spreadsheet.
- Download PDF (Solo): the Gantt chart as a PDF.
- Download PNG (Solo): a straight image of the current Gantt view.
Import:
- Import from MS Project: this menu item imports a Project-compatible XML file (an export from MS Project or a similar tool), not a raw
.mppproject file directly. Free. This replaces your current plan. - Paste from Spreadsheet: choose Replace Plan to bring in a spreadsheet as a new plan, or Append to add its rows to what you already have open.
- Append tasks from text: adds tasks parsed from plain text to your current plan.
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)
- Share Gantto: share the tool itself.
- Share Read Only (Solo): downloads a self-contained, view-only HTML file of your current plan, rather than a hosted link. An optional passcode controls whether the plan displays on screen, but the plan data inside the file itself isn't encrypted, so treat it the way you'd treat any other exported file when deciding who to send it to.
- Copy Plan for AI: see the AI menu below, this shortcut lives in both places.
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).
- Paste AI Plan: paste in a plan an AI generated, as either a markdown table or a numbered/bulleted list, and Gantto parses it into tasks. A markdown table gets you the most detail (names, assignees, dates, percent complete, dependencies); a plain list gets you names, hierarchy, and rough durations. You'll always see a preview before choosing to replace your current plan or append to it.
- Copy plan for AI: copies a plain-text outline of your whole plan to the clipboard, ready to paste into an AI conversation so it has full context on where the project stands.
- Review my plan: copies that same outline plus a built-in prompt asking the AI to flag overloaded assignees, tasks with no buffer, unrealistic durations, and anything obviously missing.
- AI Prompt Helper: a small library of ready-made prompts (generate a plan, expand a task into subtasks, review the plan) that you copy and paste into your AI tool of choice.
Activating your licence
If you've been given a Solo licence key:
- Open the upgrade popup (or find licence activation in Settings).
- Enter your key, in the format
GANTTO-SOLO-XXXX-XXXX-XXXX. - 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
- Plans are files. Put them somewhere your team already shares files (a shared drive, a repo, wherever fits your existing habits) rather than relying on one person's machine.
- Set Working Days deliberately before building out a plan, the default is Monday to Friday, and changing it later reshuffles every date.
- Agree on naming and structure conventions up front if several people will be building out plans, particularly for sprint bands, since they have no formal linking mechanism to tasks, they're purely visual.
- If you're bringing in an existing plan from an MS Project-family tool, save whatever plan you currently have open first, Import from MS Project replaces it.
- Baselines are a lightweight before/after date comparison, not a full version history, if you need to step back through several complete states of a plan, that's what Plan History is for.
- The Dependency Map's Focus Mode is worth introducing early to anyone working on a large, heavily-linked plan.
- If anyone on the team is coming from MS Project, mention up front that Ctrl/Cmd-click and Shift-click don't support multi-selection in Gantto, use Select mode and its checkboxes instead. It's a quick thing to say and saves a confused ten minutes.
Questions or feedback on the app itself? We'd love to hear it, that's exactly what shapes what gets built next.