Skip to content

Chrome Extension

The Social Archiver Chrome extension is for fast capture while you browse on desktop. With a Social Archiver account it shares one archive library with the Obsidian plugin, mobile app, and web app — and without an account it can still clip posts locally to Obsidian, a Markdown file, or your clipboard.

Install

  1. Install Social Archiver from the Chrome Web Store
  2. Open the extension popup
  3. Sign in with your email address — or skip sign-in and use local clipping only
  4. Use the same email as your Obsidian plugin or mobile app if you want all clients to share one archive library

Signing in unlocks the server-side features: cloud archiving, podcasts, subscriptions, mobile sync, and share links. Local clipping works either way.

Archive Supported URLs

Use Archive Current Page when the current tab is a supported social post or source page. The extension submits the URL to Social Archiver, tracks the background job, and shows the result in the popup history.

You can also archive faster with:

  • Keyboard shortcut: Ctrl+Shift+S (Cmd+Shift+S on Mac)
  • Right-click menu: Archive to Social Archiver on the current page or a link
  • Active icon state: the extension icon changes when the current page is recognized as archivable

Web Clipping

For regular web pages, use Clip instead of Archive. Clipping extracts the readable page content, opens a side panel preview, and lets you edit the title, Markdown body, and personal note before saving.

Use clipping for articles, blog posts, documentation, and other web pages that are not handled by a platform-specific archiver.

Clip Destinations

A clip can go to different places. The Default clip destination in extension Settings controls where the main Clip button sends, and several flows let you pick per-clip:

  • Obsidian plugin — sends the clip straight to the Social Archiver Obsidian plugin through an obsidian:// link. The plugin turns it into a Markdown note and downloads media into your vault. Requires the Social Archiver plugin 4.0.0 or later.
  • Desktop app — hands the clip to the Social Archiver desktop app over a socialarchiver-desktop:// deep link. The app saves it to your library — into your local library when signed out, or your account when signed in. The desktop app must be installed.
  • Account (cloud) — uploads to your Social Archiver account so the archive appears across the web app, mobile, and synced Obsidian. Requires sign-in.
  • Local file or clipboard — Download ZIP, Copy Markdown, or Copy HTML, with no account.

Sending a clip straight to the Obsidian plugin or the desktop app works without a Social Archiver account.

Clip Without an Account (Local Save)

Since extension 1.6 you can save posts locally without signing in. When the current tab is a supported post page, the logged-out popup shows a Local destinations card with these actions:

  • Clip to Obsidian — sends the extracted post to the Social Archiver Obsidian plugin through an obsidian:// link. The plugin converts it into a Markdown note and downloads media into your vault. Requires the Social Archiver plugin 4.0.0 or later.
  • Download ZIP — downloads a bundle containing the post as Markdown and HTML, media files when they can be downloaded, an import manifest, and the raw post data. Use this if you don't use Obsidian.
  • Copy Markdown — copies the post as Markdown to paste into any notes app or editor.
  • Copy HTML — copies richer formatting where the browser supports it.

Local saves run entirely in your browser:

  • No account or sign-in is required
  • Nothing is sent to Social Archiver servers
  • They never consume archive quota or credits

Extraction uses your existing browser session on the platform page, so posts that are visible to you — including login-walled Facebook posts — can be clipped, often with comments included.

Supported pages: Instagram posts, reels, and stories; Facebook post permalinks; X posts; Threads posts; Reddit posts; YouTube videos; TikTok videos; LinkedIn posts; Substack Notes; Bluesky posts; Mastodon posts; Naver Blog; Naver Cafe; Kakao Brunch; and any ordinary web article through the generic web clip.

Good to know:

  • TikTok videos and Instagram stories save the actual media file, so the Obsidian destination needs a vault folder selected in extension Settings first.
  • When you are signed in, the same Clip to Obsidian action is available from the archive button dropdown. Local clips stay local — they don't create server archives.

Platform Clipping Tips

Several platforms only allow clipping from a single-post page, not from the feed.

Facebook: open the post page first

Clipping works on a post's own permalink page, not on the news feed or a profile timeline. To clip a post you see in the feed:

  1. Click the post's timestamp — the "3h" or date text under the author name. This opens the post's own page, such as facebook.com/<name>/posts/..., /reel/..., /photo?fbid=..., or /watch?v=....
  2. Open the extension popup there and use Clip to Obsidian (or Archive when signed in).

The extension reads the post with your logged-in Facebook session, so posts behind a login wall are included, along with comments, link cards, and shared/quoted posts. For reels that deliver audio and video as separate streams, the Local Media Helper merges them into one file; without the helper the clip falls back to a video-only file.

Instagram: open the post page first

Open the individual post page so the URL looks like instagram.com/p/<code>/ or instagram.com/reel/<code>/. From the feed, click the post's timestamp; from a profile grid, click the post itself. Then clip from the popup.

Stories and highlights can be clipped from the story viewer. Like TikTok, story clips save the media file directly, so a vault folder must be set in extension Settings. Stories whose audio and video arrive as separate streams cannot be merged locally — use Archive for those.

LinkedIn: copy the post link, open it in a new tab

LinkedIn feed pages cannot be clipped in place. Get the post's own URL first:

  1. On the post, open the ⋯ menu (or Share) and choose Copy link to post.
  2. Open the copied link in a new tab. The URL looks like linkedin.com/posts/... or linkedin.com/feed/update/urn:li:activity:....
  3. Open the extension popup on that tab, then clip or archive.

LinkedIn articles (Pulse) and lnkd.in short links are not supported by the post clipper; articles can still be saved with the generic web Clip.

TikTok: vault folder, and the Local Media Helper for some videos

TikTok clips capture the video that is visible or playing in the current tab and save the video file straight into your vault:

  • A vault folder must be selected in extension Settings first.
  • Many TikTok videos deliver audio and video as separate streams. Those require the Local Media Helper to merge them into a single MP4 — if it is not set up, the popup asks you to enable it.
  • On feed pages with several loaded videos, the popup shows a candidate list so you can pick the right one. Opening the video's own page (tiktok.com/@user/video/...) is the most reliable.

YouTube

YouTube video pages clip with structured video metadata, and extension 1.6.2 and later also include the transcript/captions when available.

Instagram Saved Posts Import

When you open the popup on instagram.com, the extension can show Import Instagram Saved Posts. This is marked beta because it relies on Instagram's browser session and private web API behavior.

You choose where the import should go before starting:

  • Desktop / Obsidian: the extension downloads ZIP parts to your computer. Each ZIP contains the selected saved posts, media files, and an import manifest. Import those ZIP files from the Obsidian plugin to create Markdown files and attachments in your vault while also registering the archives in your Social Archiver account.
  • Web: the extension uploads the selected saved posts directly to your Social Archiver account. It does not create ZIP files. The web app can show the imported posts after processing, and Obsidian can pick them up later through sync.

Key behavior:

  • You choose which saved collections to import
  • Selected media is downloaded locally in the browser first before it is packaged into ZIP files or uploaded to Social Archiver
  • Imports can be paused and resumed
  • Instagram may require account verification or change the web API without notice

Instagram My Posts Import

Chrome Extension 1.4.9 adds My Posts import for Instagram. It is designed for backing up your own Instagram posts, but the current version works from the Instagram profile grid that is open in Chrome. It imports posts and reels that are visible to your logged-in Instagram session, including older posts or posts that are restricted for logged-out viewers.

How to use it:

  1. Open Chrome and sign in to instagram.com
  2. Open the Instagram profile grid you want to import from, for example your own profile at https://www.instagram.com/yourname/
  3. Open the Social Archiver extension popup
  4. Choose Instagram ImportMy Posts
  5. Select how many recent posts to import, from 50 up to 5,000
  6. Start the import

Important details:

  • My Posts import uses Web upload mode only. It uploads directly to your Social Archiver account and does not create ZIP files.
  • The extension uses your existing logged-in Instagram browser session, so it can access posts that are visible in your browser but not visible to logged-out visitors.
  • The import scrolls the current profile grid to discover post and reel links, then rehydrates each post before archiving so captions, media, comments, and author details can be preserved when available.
  • Duplicates are skipped automatically. You can import a smaller range first, then run a larger range later.
  • Large imports may take a while and can be paused or resumed from the extension popup.
  • For very large profiles, importing 1,000-2,000 posts at a time is usually more reliable than starting with the full 5,000 range.
  • My Posts import is optimized for backing up your own profile. Use it only for profiles and content you have permission to archive; it is not designed as a general-purpose crawler.

Reddit Saved Posts Import

When you open the popup on a Reddit saved page such as reddit.com/user/yourname/saved, the extension can show Import Reddit Saved Posts. This is also marked beta because it depends on Reddit's saved listing pages and the current browser session.

The Reddit saved import currently uploads directly to your Social Archiver account. It does not create an Obsidian ZIP export. After the server import completes, the posts can appear in the web app and can be synced into Obsidian with Sync Existing Archives.

Key behavior:

  • The extension discovers your saved Reddit posts and saved comments from your logged-in Reddit session
  • Supported media is downloaded in the browser and uploaded through Social Archiver's media pipeline
  • Saved comments are preserved as Reddit comment archives; saved posts can include available thread comments
  • The import can be paused, resumed, retried, or discarded from the popup
  • Unsupported Reddit item types or unavailable media may be skipped or imported with warnings

X (Twitter) Bookmarks Import

When you open the popup on x.com/i/bookmarks (or twitter.com/i/bookmarks), the extension can show Import X Bookmarks. This is marked beta because it depends on X's bookmarks GraphQL endpoint and the current browser session.

The X bookmarks import uploads directly to your Social Archiver account. It does not create an Obsidian ZIP export. After the server import completes, the posts can appear in the web app and can be synced into Obsidian with Sync Existing Archives.

Key behavior:

  • Discovery captures the bookmarks GraphQL response that X already issues for the current page; the extension does not call the API on your behalf
  • Link preview cards (image + destination URL), quote tweets, X articles, photos, and supported videos are preserved
  • Discovery and archive can be paused, resumed, retried, or discarded from the popup
  • The main popup shows a "ready / in progress / paused" banner so you can jump back without re-opening the bookmarks page
  • If discovery stops with a cursor still present, more bookmarks may be available — finish the current import first, then run Discovery again
  • The X user handle is not always extractable in v1, so the UI may show unknown rather than an account name

Archive Quota for Imports

Chrome extension direct imports create normal Social Archiver archives and count against your account's monthly successful archive quota. This applies to Instagram's Web destination, Reddit saved imports, and X bookmarks imports.

Duplicates and skipped items do not create new archives and do not consume archive quota. Premium monthly, annual, and lifetime plans remove monthly archive limits while the entitlement is active.

Browser Session Privacy

Instagram, Reddit, and X saved-post / bookmarks imports use the browser session that already exists in your local Chrome profile. Instagram My Posts import also uses that same local Instagram session. The extension reads the relevant saved-post listing, profile grid links, or bookmarks response and (for Instagram and Reddit) downloads media from the platform in the browser, using the cookies and session state that Chrome already has for instagram.com, reddit.com, or x.com.

Social Archiver servers do not receive your Instagram, Reddit, or X password, cookies, session tokens, CSRF tokens, or captured platform request headers. For direct web uploads, the server receives the archive payload, selected media files, import job metadata, and your Social Archiver authentication token so it can create archives in your account. For X bookmarks specifically, only the response body of X's own Bookmarks GraphQL request is forwarded; X media is downloaded server-side from URLs in that response.

Settings

The extension options page includes:

  • Desktop notifications
  • In-page toast messages
  • Auto-create share link when archiving
  • Default clip destination (Obsidian plugin, desktop app, or account)
  • Obsidian vault folder for clip media handoff (required for TikTok and Instagram story clips)
  • Show or hide Instagram import features
  • Immich upload and Local Media Helper pairing
  • Export debug log for support

For merging split audio/video streams (TikTok and Facebook reel clips, high-quality Immich uploads), see Local Media Helper.

Sync With Obsidian and Mobile

Archives created from Chrome are saved to your Social Archiver account. They can appear in:

  • The web app immediately after processing
  • The mobile app through Auto Sync
  • Your Obsidian vault when the plugin is connected and Obsidian is open, or after you run Sync Existing Archives

Troubleshooting

This page cannot be archived

Browser-internal pages such as chrome://, chrome-extension://, about:, and similar URLs cannot be archived or clipped. Open a normal http or https page.

Generic page opens Clip mode

This is expected. Platform-specific URLs use Archive; ordinary web pages use Clip so you can review and edit the extracted Markdown before saving.

Facebook or Instagram post cannot be read from the page

Clipping needs the single-post page, not the feed. Click the post's timestamp to open its permalink, reload the page if it was reused from a previous post, then clip again.

TikTok clip asks for the Local Media Helper

That video delivers audio and video as separate streams, which the extension cannot merge on its own. Install and enable the Local Media Helper, then retry. Also make sure a vault folder is selected in extension Settings — TikTok clips write the video file directly into your vault.

LinkedIn post does not clip from the feed

Use ⋯ → Copy link to post on the post, open the copied URL in a new tab, and clip from there. Pulse articles and lnkd.in short links are not supported by the post clipper.

Instagram import is unavailable

Open an Instagram tab first, make sure you are logged into Instagram in the browser, and confirm the import feature is enabled in the extension options.

Instagram My Posts finds no posts

Open the Instagram profile grid you want to import from before starting the import. If the profile page has not loaded enough items yet, scroll the page once, reopen the extension popup, and try again. For large ranges, keep the Instagram tab open while discovery is running.

If a 5,000-post discovery run stops, keep the profile tab open and retry with 1,000-2,000 posts at a time.

Instagram import says "session expired" but you are still logged in

After a large import (for example a few thousand posts), Instagram may temporarily limit its internal API for your account while normal browsing keeps working. That is why you can still scroll Instagram even though the import stops. Extension 1.6.0 and later detect this and show an "Instagram is temporarily limiting requests" message; older versions reported it as a session expiry.

What to do:

  • Wait. The limit usually clears within several hours to a day. Normal Instagram browsing during that time is fine.
  • Do not sign out and back in, and do not restart the browser — the limit is applied on Instagram's side to your account, so neither helps. Re-logging in right after heavy use can even trigger Instagram's account verification challenge.
  • When you try again, import in smaller batches and leave a few hours between sessions.

Reddit import is unavailable

Open your Reddit saved page first, for example https://www.reddit.com/user/yourname/saved/, and make sure you are logged into Reddit in the browser.

X Bookmarks import is unavailable or captures nothing

Open https://x.com/i/bookmarks first and make sure you are logged into X in the browser. If discovery completes with zero captures, X's service worker may have served a cached response — retrying after a moment or reloading the bookmarks tab usually resolves it. Accounts that recently performed many bookmark mutations may also see paginated results temporarily throttled; a naturally accumulated account works best.

Next Steps

Released under the MIT License.