BlueskyCARConverter

No login · No upload · Runs in your browser

Export your Bluesky posts to Markdown

Chronological, foldered, front-mattered Markdown — the format that outlives every app you will ever use.

@
or
Drop your .car file hereNothing is uploaded — it is read on this device.
0.7s
to read 206,000 records
Measured on a real 75 MB archive.
760 MB
of media the export skips
Found in one real account we tested.
0 bytes
sent to any server
Your archive never leaves the device.
01

What the Markdown looks like

One file per month, grouped into folders by year, plus an index that links to all of them. Each post gets a timestamped heading, its text with links, mentions and hashtags converted into proper Markdown links, its images embedded, and a permalink back to the original post.

Every file starts with YAML front matter — title, handle, month, post count — so note-taking apps and static site generators can read it without any conversion step.

02

Why not one file per post?

Because it breaks things. A three-year account produces thousands of files, which makes some importers fail outright, slows down search in others, and turns a tidy folder into an unusable mess. Grouping by month keeps the archive readable and the imports reliable.

If you do want a note per post — for backlinks and graph views — pick the Obsidian vault instead. It is built exactly that way, on purpose.

03

The text is preserved exactly

Bluesky stores links and mentions as byte offsets into the UTF-8 encoding of your post, not as character positions. Tools that slice text by JavaScript string index corrupt any post containing emoji, accented characters or non-Latin scripts — the link lands in the wrong place and letters go missing.

This converter slices on byte boundaries. Every post in every archive we test rebuilds to a byte-identical copy of the original, emoji included.

Questions

Are my images included?
Yes, if you ask for them. Bluesky's own export leaves media out entirely, so this fetches every photo and video from your server and stores them in a media folder, with each file named after the post it belongs to.
Does it include replies?
Everything is included, and replies are marked so you can filter them out. For blog-style exports, replies are excluded automatically because they read as fragments without their context.

Related