Find the stage where content went missing

There are three separate counts to compare: the posts the extension captured, the unique posts SaveGlint imported, and the notes your destination app created. A lower count at one stage has a different explanation from a lower count at another. Write those numbers down before repeating a large export.

The extension already merges repeated post IDs while collecting overlapping page responses, so a normal extension download should usually keep the same count when imported. A JSON file assembled from several exports or edited by hand can contain duplicate IDs; SaveGlint merges those into one bookmark. A very long bookmark can then become several Markdown notes. These differences need checking, but do not alone prove that text was lost. Conversely, a file that opens successfully does not prove that the browser captured every bookmark in your account.

The browser must load the posts first

The extension observes bookmark responses that X normally requests during your capture session. It does not ask X for an account-wide archive. Open Bookmarks, read the capture notice and select Start capture before scrolling through the collection.

Posts the browser loaded before you started are not kept in a hidden initial cache. Some already visible posts can be read after you start as a partial fallback. On History, the selected tab must be identified as Bookmarks and visible fallback posts must have an already-saved marker. Long text and media metadata may be missing from that fallback.

Virtualized lists can remove older posts from the visible page. Deleted, restricted or unavailable posts may never return readable content. If the extension cannot confirm the current bookmark view, it stops rather than collecting an unknown list. A bottom-of-list signal is useful context, not independent proof of complete history.

A post can be present but incomplete

Search by a distinctive phrase or author, then open the record. Check its content notes. A DOM fallback may contain only what was visible. A reply is not necessarily the whole thread, a quoted post is nested inside its parent, and an X article card is a preview rather than the full article.

Keep the JSON alongside the Markdown. The structured record can explain how the text was obtained and which limitations were recorded. An image URL in the record is still a remote link; an unavailable image does not necessarily mean the original text went missing.

SaveGlint’s original-text reader displaying a fictional post with JavaScript code, line breaks and Unicode characters.
Original-text preview in SaveGlint, using fictional content. Obsidian and Notion apply their own rendering when you import the Markdown. Open the image to view it at full size.

Separate export problems from import problems

If SaveGlint shows the expected unique records but Obsidian has fewer notes, inspect the extracted ZIP and its index first. If the files are present, check which folder you opened and whether index.md stayed beside bookmarks/.

For Notion, check every Markdown pack. An interrupted upload can leave some notes imported and others absent. Before retrying a whole pack, inspect the destination to avoid creating another copy of the pages that already arrived. See the Notion import guide for the small-batch check.

Make a smaller, verifiable attempt

  1. Keep the existing JSON and export ZIP as dated backups.
  2. Return to a confirmed Bookmarks view and start a fresh capture. Scroll manually; stop if X reports an access or rate-limit error.
  3. Download the new JSON and inspect the imported count and several known posts.
  4. Use a new folder or page for the test import, then compare results before replacing anything.

SaveGlint does not replay blocked requests or restore content the source no longer returns. If a small attempt still fails, use Contact with the step and a redacted error message. You do not need to send your full collection.

Ready to take your bookmarks with you?Export your bookmarks