LinkedIn post forensics

Postmark

LinkedIn only shows "3d" or "2w" on a post — but the exact publish time is hiding inside the post's own ID. Paste a link and this decodes it, entirely in your browser. Think of it as a LinkedIn post date extractor, minus the sketchy browser extensions and login walls.

Grab all your own posts — with engagement — at once →

This page can't reach into LinkedIn's activity feed by itself — it's login-walled and loads posts dynamically as you scroll, so there's no URL to simply fetch. But you can pull every post's ID and its reaction + comment count straight out of the page yourself:

  1. Go to your own LinkedIn profile → "Show all posts", while logged in.
  2. Open the browser console (F12, or Cmd+Option+I on Mac) → Console tab.
  3. Paste the script below and press Enter. It scrolls the page for you and reads each post as it loads — for a long post history this can take a while (a minute or more isn't unusual), and you'll see periodic "…still working" updates in the console so you know it hasn't frozen. Just leave the tab alone until it finishes.
  4. When it's done, it copies "id, engagement" for every post to your clipboard. (If the copy is blocked because the console panel has focus, it prints the list instead — just select and copy it manually, or run copy(window.__postmarkIds).)
  5. Switch to Batch mode above and paste — you'll get performance-ranked insights immediately, no manual numbers needed.

Worth knowing: this works by matching LinkedIn's own accessibility labels (things like "42 reactions" and the hidden "Feed post number N" marker on each post), which is a lot more reliable than guessing at visible text — but LinkedIn can still change that structure at any time. Spot-check a couple of numbers in the console output against what you see on screen before trusting the ranking, and hand-correct any that look wrong before pasting. If a post genuinely never loads, it'll show up flagged as "never fully rendered" rather than silently disappearing — try scrolling near it manually yourself and re-running if that happens.

Leave both blank to grab everything. The script still scrolls the full page either way — the range just filters which posts end up in the copied list.

If this URL points to a reshare, the ID above is the reshare's timestamp, not the original post's. LinkedIn nests the original post's own ID inside a reshare — use that inner URN if you need the original publish time.

InputActivity IDPublished (local)Published (UTC)Reactions

Frequently asked questions

How can I see the exact date and time of a LinkedIn post?

Paste the post's URL into the box above and click Decode. LinkedIn's feed only ever shows a relative label like "3w" or "2mo," but the real publish timestamp is encoded inside the post's own ID — this page reads it straight out of the URL, entirely in your browser, with no login or API needed.

Is there a way to find out when a LinkedIn post was really published?

Yes — every LinkedIn post URL contains a long activity ID, and that number is a timestamp in disguise (see "How this actually works" below for the technical details). Postmark decodes it instantly, down to the exact minute, for any public post — not just your own.

Does this work on someone else's LinkedIn post, not just my own?

Yes, for single-post decoding — anyone's public post URL works, since the timestamp is embedded in the ID itself, not fetched from LinkedIn. The reaction/comment extraction feature is different: that one only works on your own activity page, since it has to be logged in as you to read the data.

How this actually works

Every LinkedIn post gets an activity ID like 7176543210987654321. That number isn't random — it's a Snowflake-style ID, a scheme originally built at Twitter and now common across large platforms. The first 41 bits of the number encode the exact millisecond the post was created; the remaining bits are internal machine and sequence identifiers.

So recovering the timestamp is just a bit shift: timestamp_ms = activity_id >> 22. No login, no API, no scraping — the answer was sitting in the URL the whole time.

The ID lives either in the post's permalink (after -activity-) or in a data-urn attribute on the post element if you're inspecting the page. Nothing you paste here is sent anywhere; the math runs locally in your browser.

Also available as a Chrome extension

Extract reaction & comment counts straight from your own activity page — no console, no copy-pasting.

Add to Chrome →