When you request a full data export from Mastodon, the platform delivers a ZIP file containing CSV files. Many users open these files and see columns with unfamiliar names such as id, uri, or reblog_of_id. Without understanding the schema, it is difficult to extract useful information or use the archive for backup purposes. This article explains every CSV file in the archive, describes each column in plain language, and shows how to interpret the data for practical use.
Key Takeaways: Mastodon Archive CSV Columns and Their Meaning
- outbox.csv: Contains all your public and unlisted posts with timestamps, content, and visibility level.
- likes.csv: Lists every post you favorited, identified by the original post’s URI.
- bookmarks.csv: Stores posts you bookmarked, each linked by the original post’s URI and author account.
- follows.csv: Shows all accounts you follow, including both local and remote users.
- blocks.csv, mutes.csv, domain_blocks.csv: Track your moderation actions: blocked accounts, muted accounts, and blocked domains.
What the Mastodon Archive Contains and Why It Exists
Mastodon allows every user to download a complete archive of their account data. This feature complies with data portability requirements under the GDPR and similar privacy laws. The archive is a ZIP file that contains multiple CSV files, each representing a specific category of your activity. The CSV format is plain text and can be opened in any spreadsheet application, text editor, or scripting language. Understanding the column structure lets you analyze your posting habits, verify follower counts, or prepare data for migration to another platform.
To download your archive, go to Preferences > Import and Export > Export and click the Request your archive button. The server generates the ZIP file and sends a notification when it is ready. Inside the ZIP, you will find these CSV files:
outbox.csv— your postslikes.csv— your favoritesbookmarks.csv— your bookmarksfollows.csv— accounts you followblocks.csv— accounts you blockmutes.csv— accounts you mutedomain_blocks.csv— domains you blocklists.csv— your lists of accountsaccount.csv— your account metadata
Columns in Each CSV File and How to Read Them
Each CSV file has a header row that names the columns. The data rows contain the actual records. Below is a detailed breakdown of every column in each file.
outbox.csv — Your Posts
This file contains every public and unlisted post you have created. Direct messages and followers-only posts are excluded for privacy reasons.
| Column | Type | Description |
|---|---|---|
id |
Integer | Unique numeric identifier for the post on your home instance |
uri |
String | Globally unique URI of the post, used for federation across instances |
url |
String | Web URL where the post is viewable in a browser |
created_at |
Timestamp | Date and time the post was published in ISO 8601 format |
content |
String | HTML-rendered content of the post, including any embedded links or mentions |
visibility |
String | One of public, unlisted, private, or direct |
sensitive |
Boolean | true if the post is marked with a content warning |
spoiler_text |
String | The text of the content warning, if any |
reblog_of_id |
Integer | If this post is a boost, the id of the original post; otherwise empty |
application |
String | Name of the client app used to create the post |
language |
String | Two-letter language code of the post content |
favourites_count |
Integer | Number of favorites the post received at the time of export |
reblogs_count |
Integer | Number of boosts the post received at the time of export |
replies_count |
Integer | Number of replies to the post at the time of export |
likes.csv — Your Favorites
This file lists every post you have favorited. Each row represents one favorite action.
| Column | Type | Description |
|---|---|---|
id |
Integer | Unique identifier for the favorite record |
account_id |
Integer | Your account identifier on the home instance |
target_account_id |
Integer | Identifier of the account that created the favorited post |
status_id |
Integer | Identifier of the favorited post |
created_at |
Timestamp | Date and time you favorited the post |
uri |
String | URI of the favorited post |
bookmarks.csv — Your Bookmarks
Bookmarks are private references to posts. This file contains all bookmarks you have saved.
| Column | Type | Description |
|---|---|---|
id |
Integer | Unique identifier for the bookmark record |
account_id |
Integer | Your account identifier |
target_account_id |
Integer | Identifier of the account that created the bookmarked post |
status_id |
Integer | Identifier of the bookmarked post |
created_at |
Timestamp | Date and time you bookmarked the post |
uri |
String | URI of the bookmarked post |
follows.csv — Accounts You Follow
This file lists every account you follow, regardless of whether the follow request was accepted.
| Column | Type | Description |
|---|---|---|
id |
Integer | Unique identifier for the follow relationship record |
account_id |
Integer | Your account identifier |
target_account_id |
Integer | Identifier of the account you followed |
created_at |
Timestamp | Date and time you started following |
uri |
String | URI of the followed account |
show_reblogs |
Boolean | true if boosts from this account appear in your home feed |
notify |
Boolean | true if you have enabled notifications for this account’s posts |
languages |
String | Comma-separated list of language filters applied to this account |
blocks.csv, mutes.csv, domain_blocks.csv — Moderation Actions
These three files track accounts and domains you have blocked or muted. Each file uses the same column structure.
| Column | Type | Description |
|---|---|---|
id |
Integer | Unique identifier for the block, mute, or domain block record |
account_id |
Integer | Your account identifier |
target_account_id |
Integer | Identifier of the blocked or muted account (not present in domain_blocks.csv) |
domain |
String | Domain name that was blocked (only in domain_blocks.csv) |
uri |
String | URI of the blocked or muted account |
created_at |
Timestamp | Date and time the action was applied |
lists.csv — Your Lists
Lists allow you to organize followed accounts into groups. This file describes each list you have created.
| Column | Type | Description |
|---|---|---|
id |
Integer | Unique identifier for the list |
title |
String | Name you gave to the list |
created_at |
Timestamp | Date and time the list was created |
account.csv — Your Account Metadata
This file contains a single row with your profile information.
| Column | Type | Description |
|---|---|---|
id |
Integer | Your account identifier |
username |
String | Your username without the domain part |
display_name |
String | Your display name as shown on your profile |
created_at |
Timestamp | Date and time your account was created |
note |
String | Your profile bio in HTML format |
uri |
String | Your account URI |
url |
String | Your profile page URL |
avatar |
String | URL of your avatar image |
header |
String | URL of your header image |
followers_count |
Integer | Number of followers at the time of export |
following_count |
Integer | Number of accounts you follow at the time of export |
statuses_count |
Integer | Total number of posts you have made |
last_status_at |
Timestamp | Date of your most recent post |
locked |
Boolean | true if your account requires manual approval for follows |
bot |
Boolean | true if the account is a bot |
discoverable |
Boolean | true if your account appears in the instance directory |
Common Misunderstandings About the Archive CSV Data
Posts Marked as Private or Direct Are Missing From outbox.csv
The archive intentionally excludes private and direct posts. This is a privacy safeguard. If you need a record of those posts, you must use a third-party tool that accesses the API with the appropriate scope.
The follower Count in account.csv May Be Outdated
The followers_count column reflects the count at the moment the archive was generated. If you request a new archive later, the number will update. The archive does not include a followers.csv file — Mastodon does not expose your follower list in the export for privacy reasons.
CSV Files Cannot Be Reimported to Restore Data
The archive is for backup and analysis only. Mastodon does not provide an import function for these CSV files. If you need to move to a new account, use the official account migration tool under Preferences > Account > Move from a different account.
Mastodon Archive CSV vs ActivityPub JSON Export
| Item | CSV Archive | ActivityPub JSON Export |
|---|---|---|
| File format | Comma-separated values, one row per record | JSON-LD structured data, one object per post |
| Ease of reading | Opens directly in spreadsheets and text editors | Requires a JSON viewer or programming knowledge |
| Data included | Metadata about posts, follows, blocks, and profile | Full ActivityPub objects with all properties |
| Privacy of posts | Excludes private and direct posts | Includes all post types |
| Reimportable | No | No |
| Federation compatibility | Not used for federation | Standard format for inter-instance communication |
After reviewing the CSV columns and their meanings, you can now use your archive to analyze posting frequency, verify your follow list, or check moderation actions. To perform a deeper analysis, consider importing the CSV into a spreadsheet and using pivot tables to summarize data by month or by visibility level. If you plan to leave Mastodon, remember that the archive cannot restore your account — use the account migration feature instead.