Someone I follow asked “How does one copy the link of a Facebook post?”
So you want to get a link to your Facebook post (e.g. send it in an e-mail).
Facebook makes this stupidly hard! I wrote a long explanation of how to extract this from the “< / > Embed” item that sometimes appears in the three-dot menu next to a post title, before I realized it’s much simpler! In a desktop web browser, simply right-click the gray timestamp of a post or comment and copy the link. That gets you https://www.facebook.com/skierpage/posts/10159326615869478. Ta-da!
Of course if your post is not public, a link to it should not display its content to people who aren’t logged into Facebook or aren’t your friend (I think Facebook will just show them your post’s title together with an invitation to [Log In] or [Create New Account and Submit to Facebook Tyranny]).
Also I don’t know how long a URL to a Facebook post will continue to work. With literally a trillion posts from a billion users, there’s no guarantee Facebook will still display it in 2025 if there’s no money to be made. I don’t think the wonderful Internet Archive’s “Wayback Machine” (donate today!) archives Facebook posts by default. Another reason to also post your screeds of wisdom to a web site that you control.
(For grins, the dumb hard way follows to end)
In a browser, click the three dots next to a post’s title, click “< / > Embed” (which isn’t always present in the three-dot menu), then copy the stupid
iframe src=blahblah chunk of HTML that Facebook produces:
<iframe src="https://www.facebook.com/plugins/post.php?href=https%3A%2F%2Fwww.facebook.com%2Fskierpage%2Fposts%2F10159326615869478&width=500" width="500" height="332" style="border:none;overflow:hidden" scrolling="no" frameborder="0" allowTransparency="true" allow="encrypted-media"></iframe>
That lets you embed a Facebook post into another web page (so Facebook’s code runs, so f***er Zucker can spy on that page as well), in a 500×332 “frame.” Instead paste the stupid chunk of HTML into an editor, and then search for the part after
href= , in this case
https%3A%2F%2Fwww.facebook.com%2Fskierpage%2Fposts%2F10159326615869478. If you squint that looks like a mucked-up URL; it’s been encoded to work inside that stupid chunk of HTML. So now you have to convert the
%2F encodings into ‘:’ and ‘/’, and possibly other stuff. There are online tools for this transformation, e.g. paste the HTML for embedding into http://www.utilities-online.info/urlencode/ and click [decode–>]; or if you know how to bring up your browser’s developer console, use
window.unescape("paste the %3A%2F nonsense here"). That should get you https://www.facebook.com/skierpage/posts/10159326615869478. Ta-da!
Again, this is stupidly hard. The whole basis of the web is easily linking from one piece of information to another. But ^%$#@! social networks want to suck you in and make it really hard to go back to an open web; Sir Tim Berners-Lee is sobbing in the corner over the debasement of his genius creation. One answer is to simultaneously post everything you write to your own web site, but it doesn’t have the same friction-free liking and sharing that the walled gardens provide. I intend to do this, but I haven’t found a great tool to automate it; any online tool that will post your thoughts to multiple social networks probably knows all your logins and is doing its own privacy-sucking surveillance. It has to be something I run entirely locally in my browser.
Having done all this detective work, there’s probably an easier way to get the long numeric ID of a Facebook post and simply append it to
https://www.facebook.com/your_facebook_id/posts/. There is, just click the timestamp of a post or comment!