Use Later · Import

Bring a JSON backup.

Use Later reads one bookmark file in this browser. It does not sign in to X, and it does not ask for a cookie or a session token.

The Bookmark X steps below follow that project's README at commit 933565f, as checked on 2026-09-22. The parser accepts the published schemaVersion: 3 backup. A full export from a real account has not been accepted as verified. Until that file is checked, treat this as schema support, not a proven full-library import.

Bookmark X JSON backup v3

Bookmark X is a third-party extension. Use Later does not publish it. Install and permission details belong to its repository README. The README describes a developer-mode install.

  1. Install Bookmark X from that repository, then open X while you are logged in.
  2. On your bookmarks page, start a collection from the extension. Stop when you mean to stop. A short scroll is not a full library.
  3. Choose More options, then Download JSON backup. Text and Markdown downloads are a different export and are rejected here.
  4. In the Use Later workspace, choose that file. Read the preview counts, then confirm. Nothing is stored before you confirm.

A v3 backup looks like this. Extra fields can be present.

{
  "schemaVersion": 3,
  "data": {
    "bookmarks": [
      {
        "id": "123",
        "url": "https://x.com/someone/status/123",
        "text": "Post text",
        "author": { "username": "someone" },
        "postCreatedAt": "2026-09-22T00:00:00.000Z"
      }
    ]
  }
}

Files this preview rejects

  • An official X data archive. This guide does not claim that archive contains bookmark text.
  • TXT, Markdown, and CSV exports.
  • A pasted post URL, or a file that is only a list of links.
  • Older Bookmark X backups whose schemaVersion is not 3.
  • Cookie, session, or password exports. Do not upload those.

Fields that are kept

After you confirm, only the fields below are written to IndexedDB on this browser. The original file stays on your machine.

Backup fieldStored as
idA JSON string of 1–32 digits. A numeric JSON id is skipped, because a large post id would be rounded.
urlMust already be an x.com or twitter.com status URL for that id. It is then stored as https://x.com/i/web/status/{id}.
textRequired, plain text, up to 12,000 characters. Empty text is skipped. HTML is not rendered.
author.usernameThe author handle. A missing author is stored blank.
postCreatedAtAn ISO timestamp, or empty when the field is missing. A value that is not an ISO timestamp makes that row invalid.

Notes, folders, tags, extension settings, and media files stay in the original backup. They are not imported. Quoted posts are not split into a separate field. A row the tool marks as archived is not treated as proof that the post on X was deleted.

What the confirm panel counts

  • New posts are written when you confirm.
  • Already stored means the same id and the same text are already in this browser. They are not added again.
  • Duplicates ignored are repeated ids inside the file.
  • Existing kept means the same id arrived with different text. The stored text stays. This preview does not overwrite it.
  • Skipped rows failed the checks above.

One file can be up to 10 MB. The library holds up to 2,000 posts. A file or a library past that limit is refused before anything new is saved.

Use Later JSON v1

The other accepted file is a Use Later export: format "uselater", version 1, and an items array. Each item needs id, url, and text. author and postedAt are optional.

Download the format example. Both posts in that file are synthetic. They are a shape check, not a measure of search quality. synthetic: true marks an example so the workspace does not present it as a live post.