If you’ve ever tried to build a working list of your Instagram contacts — for outreach, for follow-ups, for any purpose that requires more than scrolling and squinting — you’ve probably already discovered that Instagram doesn’t make this easy.
There is no “export contacts” button. There is no built-in way to generate a spreadsheet from your DMs. Every method that actually works is some version of a workaround: extract the data, parse it into a usable format, and import it somewhere you can actually work with it.
This guide covers the three methods that will get you a working spreadsheet of your Instagram DM contacts in 2026 — and why the spreadsheet itself is usually a stepping stone, not a destination.
Why a spreadsheet at all?
Before getting into the how, a quick note on the why. Most working artists who want to “export their DMs to a spreadsheet” are actually trying to solve one of three problems:
- Recovery. They’ve lost contacts in their inbox and want a flat list to scan.
- Outreach. They want to plan a campaign — a release announcement, a tour pitch — and need to see all their relevant contacts in one view.
- Migration. They want to move their relationships out of Instagram and into a real CRM (Notion, Airtable, Pipedrive).
If you’re solving problem 1, a basic spreadsheet is fine. If you’re solving problem 2 or 3, the spreadsheet is just an intermediate format — you’ll end up importing it somewhere with more capability. Knowing this in advance changes how you should structure the data.
A useful Instagram DM spreadsheet has, at minimum:
- Contact name (or @username)
- Last message date
- Total message count
- Last message preview
- Direction of last message (you sent / they sent)
- Notes column for context
Some people add tags, status fields, or topic columns. Whether to include them depends on what you’ll do with the spreadsheet next.
Method 1: The fully manual approach
If you have under 50 DM threads and zero budget, this works.
Open Instagram on a desktop browser. Open a blank Google Sheet or Excel file. Set up the columns above. Then go through your DMs one by one and fill in the rows manually.
This is excruciating but it works. The advantage is that you’re forced to actually look at every conversation, which means you’ll catch things a parser might miss — context, tone, the implied state of each relationship.
The disadvantage is the time. At thirty seconds per thread, fifty threads is half an hour. Two hundred threads is two hours. Eight hundred threads — which is the realistic count for a working artist with a few years of activity — is closer to seven hours, and your accuracy will degrade after the first hour.
Best for: small inboxes, one-time recovery efforts. Useless for: anyone past their first year on the platform.
Method 2: The data export plus manual conversion
This is the path most people land on when they realize Method 1 doesn’t scale.
The first step is requesting your full Instagram data export, which includes every DM you’ve ever sent or received in JSON format.
To request the export:
- Go to Settings → Account Center → Your information and permissions → Download your information
- Select the account you want to export
- Choose Some of your information
- Select Messages under categories
- Pick format JSON (more parseable than HTML)
- Choose date range — “all time” if you want everything
- Submit and wait
Instagram will email you a download link, usually within a few hours. The result is a zip file with a folder called messages/inbox/, containing one subfolder per conversation. Inside each subfolder is a message_1.json file with the actual conversation content.
Now you need to convert this into a spreadsheet. Three options:
Option A — Use a generic JSON-to-CSV converter. Tools like ConvertCSV or local utilities can take a single JSON file and output a CSV. The challenge: Instagram’s export structure is nested, and each conversation is in a separate file. You’d need to either combine all files first or process them one by one. This is doable but tedious for hundreds of threads.
Option B — Write a quick script. If you have basic Python skills, the Instagram JSON format is well-documented. A 30-line script can walk through the inbox/ folder, parse each message_1.json, and output a CSV with the fields you want. Existing scripts on GitHub will get you 90% of the way — search “instagram messages to csv” and pick one that’s been recently maintained.
Option C — Use a spreadsheet app’s import features. Google Sheets and Excel can import JSON in some cases, but the nested structure of Instagram’s export makes this messy. You’ll spend more time wrangling formatting than actually using the data. Not recommended unless you enjoy that kind of thing.
After conversion, you’ll have a flat CSV with one row per message — which is not what you want. You want one row per contact. The final step is grouping the messages by thread participant, with aggregated fields (last message date, total count, etc.). This is where most people give up. Doing this manually in Excel with pivot tables works but takes another hour or two.
Best for: technical users with a few hours to spend. Limited by: the manual aggregation step, which is where the real time goes.
Method 3: Use a purpose-built tool
This is the path most working artists end up taking once they’ve tried the first two and lost an afternoon.
Tools designed specifically for Instagram DM extraction handle the entire pipeline: they accept the export zip, parse the JSON, group by contact, generate aggregate fields, and output either a spreadsheet or a structured database.
A few categories of tools at this layer:
- Spreadsheet-only exporters. They take your Instagram zip and give you back a CSV. Simple, single-purpose, usually free or low-cost.
- CRM exporters. They go a step further and produce a populated CRM in Notion, Airtable, or another database app. The advantage is you skip the “now I have a CSV, what do I do with it?” stage.
- Hybrid tools. They give you both — a spreadsheet for export, a CRM for ongoing use.
Backline sits in the third category. It takes your Instagram DM export, parses it over an encrypted connection (only message text is read, never sold, shared, or used to train anything, and visible only to you — a browser-only mode is available if you want zero upload), and produces a structured Notion CRM with one record per contact, summaries of each conversation, last-interaction dates, and the orphan threads pre-flagged. You can also export a CSV at any point if you want a flat spreadsheet for a specific use case.
The trade-off with purpose-built tools is what you’d expect: they cost money, but they compress an afternoon of fiddly work into about ten minutes.
What to actually put in the spreadsheet
Whatever method you choose, the data is only as useful as the columns you decide to track. The minimum viable structure for a DJ or artist working their network:
- Handle / display name
- Real name (if known)
- Role (promoter, label, fellow artist, journalist, etc.)
- Last contact date
- Last topic — what was the conversation about
- Status — cold / warm / active / negotiating / closed
- Next action — what you owe them, or what you’re waiting on
- Notes — anything that would matter when you re-engage in three months
Eight fields. The first three you fill in once. The next five you maintain as you go.
If you’re producing this from an export, you’ll have the handle, the last contact date, and a last-message preview automatically. The rest you’ll fill in manually, often with surprises — half the time you’ll look at a thread and realize you completely forgot what you talked about.
The next step beyond a spreadsheet
A spreadsheet is fine for a one-time audit. It’s a poor format for ongoing CRM work. Spreadsheets don’t have good views, no relational structure, no notification logic for follow-ups.
If you’re doing this for ongoing relationship management — and if you’re reading this guide, you probably are — the better terminal destination is a CRM-style tool. Notion is the most common choice in the artist world because it’s flexible and the templates are cheap to build. Airtable is more powerful if you’re comfortable with relational data. Specialized CRMs like Pipedrive or Streak are overkill for most artists but excellent if you’re running a real pipeline.
The spreadsheet, in this workflow, is just the export format. The real home for the data is whatever tool you’ll actually open and update every week.
The bottom line
Exporting your Instagram DMs to a spreadsheet in 2026 is one of those tasks that’s either trivially easy or surprisingly painful depending on which method you choose. For small inboxes, manual works. For technical users, scripts work. For anyone with hundreds of threads who’d rather spend their time on music than data wrangling, a purpose-built tool is the only sane option.
The harder question — what to do with the spreadsheet once you have it — is the one that actually moves your career forward. The export is the beginning, not the end.
Backline takes your Instagram DM export and produces a structured Notion CRM, processed over an encrypted connection. CSV export available if you need a spreadsheet view. Try the free tier at backline.so.