TL;DR: Asana doesn’t include comments in any native export. Not in CSV, not in XLSX, not in JSON. Getting comments out requires either manual copying, an API call per task, or a third-party tool that syncs them alongside task data. For a general walkthrough of Asana’s export options, see how to export from Asana.
Why Asana exports exclude comments
Asana stores comments in its “stories” system, a separate event stream that tracks activity, status changes, and conversations on a task. The export menu only pulls structured task fields: names, assignees, due dates, sections, and custom fields.
One thing worth clarifying: the JSON export does include task descriptions (the body text of a task), but descriptions and comments are different things. Comments are separate entries added over time by team members. The JSON export doesn’t include those.
This isn’t a bug. It’s how Asana’s data model works. Comments require a separate API request per task, which is why no download button can fetch them all at once.
Workarounds for exporting Asana comments
| Method | Good for | Limitation |
|---|---|---|
| Manual copy-paste | 1–5 tasks | Doesn’t scale at all |
Asana API (/stories endpoint) | Any volume | Requires development work |
| Third-party backup tools (Rewind, Backupify) | Full org backup | Not designed for reporting |
The API approach is the most flexible. The endpoint GET /tasks/{task_gid}/stories returns all comments and activity for a task. You’ll need to authenticate with a Personal Access Token and handle pagination for tasks with long comment threads. For setup details, see the Asana JSON export guide.
When comment history actually matters
For occasional one-off exports, losing comments is usually acceptable. Where the gap causes real problems:
- Compliance and audit work: Decisions often get documented in comments, not in task fields. If you need a paper trail, comments are where it lives.
- Client handoffs: Passing a project to a new team or client means handing over context. Status fields tell you what happened; comments explain why.
- PM tool migrations: Moving to a new platform means comments are the institutional memory you’re most likely to lose.
- Stakeholder reporting: The reason a task went late is usually in the comments, not the due date field.
For a one-time data pull, native CSV or JSON export is fine if you can live without comments. For compliance records, handoffs, or ongoing reporting where the conversation matters as much as the task data, you’ll need either an API integration or a tool that handles the sync for you.
Related guides:
- How to export from Asana — the complete guide
- Asana export to CSV — CSV format details and troubleshooting
- Export Asana to Google Sheets — Native options. workarounds and alternatives
- Export Asana to PDF — Print and dashboard approaches
- Export Asana to Excel — XLSX export and Excel-specific tips
- Asana JSON export — API-based structured data export
Frequently asked questions
No. Asana’s CSV, XLSX, and JSON exports all exclude comments. The JSON export includes task descriptions but not comments. To retrieve comments, you need to use the Asana API or a third-party tool that calls the API on your behalf.
Use the endpoint GET /tasks/{task_gid}/stories with your Personal Access Token in the Authorization header. The response includes all comments and system events for that task. You’ll need to make a separate request for each task. There’s no bulk comment export endpoint. See the Asana JSON export guide for authentication and pagination details.
Not in native Asana. You can search task names and assignees with Advanced Search, but comments aren’t indexed for search in the native interface. Third-party tools that sync comment data can provide cross-project comment search, depending on the tool.


