How to Move Your Jira Backlog Into Linear Cleanly
Importing a Jira project into Linear is two clicks. Ending up with a usable backlog afterwards is the part that takes planning, because a straight import carries over years of states, custom fields and abandoned tickets.
Direct answer: export a filtered Jira CSV (open issues only), import it into a temporary Linear team, map statuses and priorities by hand, then move survivors into your real team. Budget one to two hours for a 500-issue project, and expect comments and attachments to be the main casualties.
Why Should You Filter Before Importing?
Most Jira backlogs are 40-60% dead tickets: duplicates, things marked done but never closed, tickets for a feature killed two years ago. Importing them means every future search returns noise.
Filter to: status not in (Done, Closed, Won’t Do, Duplicate) and updated within the last 18 months. That single filter typically cuts a 900-issue project to around 350.
How Do You Prepare the Jira Export?
- In Jira, go to Filters → Advanced issue search and paste your JQL filter.
- Show the columns you need: Key, Summary, Description, Status, Priority, Assignee, Reporter, Labels, Created, Updated.
- Export → CSV (all fields). Take the full export, then delete columns in a spreadsheet — partial exports drop useful ones.
- Strip HTML from the Description column if your Jira rendered rich text; Linear’s importer reads raw markdown better.
- Check the file opens as UTF-8. Excel defaults have broken more imports than any importer bug.
What Happens to Each Field?
| Jira field | Linear destination | Notes |
|---|---|---|
| Summary | Title | Kept as-is |
| Description | Description (markdown) | Rich formatting often flattens |
| Status | Workflow state | Mapped per team, review manually |
| Priority | Priority | Jira’s 5 levels collapse to 4 |
| Custom fields | Dropped | Recreate only the ones you query |
| Comments | Not imported via CSV | Use the native Jira importer for these |
Custom fields are the biggest loss. Look at which custom fields appear in your saved filters — those are the only ones worth recreating as Linear labels.
Which Import Route Should You Use?
Two options exist. The native Jira importer pulls issues with comments and history but needs admin access and can be slow on large projects. The CSV route is manual but gives you full control over what comes in.
For projects under 200 issues, use the native importer — comments are worth keeping. Above that, CSV plus a filtered export is faster and cleaner.
How Do You Keep Old Links Alive?
Jira URLs will be pasted in Slack, docs and PR descriptions for years. Two options: put the old Jira key in the Linear issue title or description (searchable), or run redirects at the proxy level if you control it.
The title approach is uglier but works everywhere with zero infrastructure. Append [OLD-4321] to imported titles during the CSV edit step.
How Long Does Cleanup Realistically Take?
Plan for a week of low-effort tidying after the import: merging duplicates, deleting zombie tickets, re-labelling. Nobody does this in one sitting.
Assign it to one person with the authority to delete, and set a hard deadline. Teams that leave cleanup “for later” end up with two backlogs and a growing resentment of the new tool.
Key Takeaways
- Filter Jira to open issues updated in the last 18 months before exporting — typically cuts the backlog by half.
- CSV import drops custom fields and comments; the native importer keeps comments but needs admin access.
- Recreate only custom fields that appear in your saved filters.
- Embed old Jira keys in issue titles so historical links stay findable.
- Budget one to two hours of import for 500 issues plus a week of cleanup.
