return to table of content

Show HN: Linkpreview, see how your sites looks in social media and chat apps

FinnKuhn
11 replies
1d4h

Great little tool, but please don't force me to type https:// and just add it automatically when I type something like example.com

klabb3
8 replies
1d2h

Another suggestion is to use input with type=“url”. This makes mobile keyboards not capitalize and auto correct (I think).

9dev
6 replies
1d1h

I thought that one was unable to handle domains without a protocol, which makes it pretty much useless for normal business cases. I’ve never met a single non-technical person that understood what that https was, why they should add it, or didn’t get immeasurably bored if you tried to explain it…

knallfrosch
1 replies
9h24m

I thought that one was unable to handle domains without a protocol

Check if the protocol is included and add if necessary

9dev
0 replies
3h32m

No, that doesn’t work. Since the browser validates the field, it is marked as invalid unless there’s a protocol present. So you’re back to using the text field, but loose out on input optimisations for URLs.

klabb3
1 replies
21h29m

I think you’d just prefill with https:// and let the user type the rest.

9dev
0 replies
3h29m

Depending on how your forms are set up, this will cause the field to be marked as invalid as soon as the user interacts with any of the forms fields, if not on load. Also, this requires additional handling for copy paste etc.

TheIndieBuilder
1 replies
23h20m

To be fair, even Tim Berners Lee doesn't understand what the :// is for and has apologised for adding it.

9dev
0 replies
22h58m

Which would be even more of a reason to standardise an input field that handles web addresses as humans enter them, not machines prefer them. Yet, here we are.

fayazara
1 replies
1d2h

Yep, I'll fix it. Fking annoying

FinnKuhn
0 replies
3h34m

Thank you :D

kilian
9 replies
1d3h

That's pretty cool! Get ready to keep these up to date monthly or become obsolete quickly.

One of the downsides of tools like this is that your URL needs to be available online so if there's an issue, your iteration loop is quite long.

In Polypane [1] I've built social media previews that work with any local URL but also let you overwrite that URL for the social media that display those. I built (and frequently maintain) previews for X/Twitter, Facebook, Slack, LinkedIn, Discord, Mastodon, Discord, Google Search, Bluesky, Mastodon and Threads. For all of those I have the design for their light and dark mode so you really can test everything. It also tells you what's missing and what is incompatible. Check it out: https://polypane.app/social-media-previews/

[1] https://polypane.app/

lagniappe
8 replies
1d3h

I hate when HN nerds deliver something poised as helpful advice that is just an ad for their own thing.

colesantiago
2 replies
1d3h

I know and it's becoming commonplace here, this is why I prefer free open source software instead so that we can ignore these ads for closed source software grifts altogether.

Is there a FOSS version of all of this that is open source? Otherwise one can make one such that these 'ads' don't need to exist and everyone can benefit from a FOSS version just in case an author chooses to shut their closed source one down.

demarq
1 replies
1d2h

We can’t keep demanding people work their weekends so we can have free stuff.

And label them “grifts” should they dare to make a living.

jraph
0 replies
1d2h

I don't quite agree with your parent comment. However, I think we should stop equating free software with weekend projects.

stevenicr
0 replies
23h26m

I sometime react that way, but most of the time I appreciate the alternatives that HN crowd adds to the conversations.

This is helpful in the current discussion and for later searches.

Only thing is I wish there was a note about open-source vs paid, / this thing is $11 / month don't click..

philipwhiuk
0 replies
1d1h

"I hate when people's adverts on a popular discussion website is undermined by other people's adverts"

lylo
0 replies
1d1h

c’mon, makers gotta pimp. it’s tough out there :)

gloosx
0 replies
21h50m

Not as bad as seeing low-effort AI generated articles here and there disguised as a useful blog post that is just an ad for yet another AI tool

bombela
0 replies
1d2h

I think a little bit of it is fine.

The person pointed out a specific limitation. And then offered a solution. Very clearly stating that they made it.

Somebody might find this useful.

shinryuu
3 replies
1d4h

Missing linkedin and also missing mastodon. Neat tool! If the page is missing something it would be helpful with some text on how to improve such as what should be done.

coppolaemilio
1 replies
22h20m

I thought exactly the same! Also, I'm not sure why, but LinkedIn is showing all of our pages with the wrong image. If someone is smart enough to figure it out please let me know. Get any blog-post from the godotengine.org site and paste it in linkedin and you'll see how the image that gets pulled is the auther of the post instead of the thumbnail of the article. I wasn't able to figure it out.

matteason
0 replies
19h50m

Your og:image meta tag is pointing to a .webp image, which I expect many services don't support as the OpenGraph image. It's probably falling back to the author photo because that's the first PNG or JPEG image on the page.

fayazara
0 replies
1d2h

I'll add LinkedIn, Telegram and a few others tonight

franciscop
3 replies
1d2h

I usually use https://socialsharepreview.com/ but there are many, so I'm curios on how is this different/better and/or why did you decide to make it instead of using existing solutions?

fayazara
1 replies
1d2h

Got bored yesterday night

lylo
0 replies
1d1h

lol, best answer :))

farzd
0 replies
1d2h

Above broke for me for few of some of the previews. You have to click to see various previews and it's slow. OP's version shows them all on the same page, it's cleaner, has more previews and styled appropriately. Pretty obvious reasons!

msephton
2 replies
1d3h

I use that too, but I think I'll use linkpreview in future simply because the results are less cluttered.

Teknomancer
1 replies
1d3h

This doesn't properly parse open graph meta data. It's inaccurate.

dmje
0 replies
1d

Which one?

vinnymac
2 replies
1d3h

Does not appear to handle open graph correctly. For example, it displayed pixelated favicons resized to fit their containers, rather than the `og:image` in the head tag.

fayazara
0 replies
1d2h

I am just fetching the showing whatever the site has, I'll take a look, what URL did you test it with?

Teknomancer
0 replies
1d3h

Came here to say just that. Totally inaccurate depiction using facicon.

darkbatman
2 replies
1d4h

I tried google.com. It says invalid url. looks half baked. can you not force to write protocol.

fayazara
1 replies
1d2h

I am just making a get request to the URL and parsing the AST.

A lot of sites not letting me make requests directly, I'll experiment something with User Agent and see if it works.

PS, openai.com doesn't work too

progmetaldev
0 replies
20h43m

You might have issues with sites behind Cloudflare, or similar type services.

Brajeshwar
2 replies
1d3h

This got me thinking and if I can ask something. If I do not care about how/what comes up when people share, for my personal website, should I care about any of these OG/Twitter/etc?

Do you just ignore and move on (I mean from these meta tags and the like -- not this particular tool)?

progmetaldev
0 replies
20h50m

Some will use the very first image found in your page, or generate a preview that may not look good. If that doesn't bother you, then you shouldn't worry about it. You might be better off just having a logo for your website, or something that represents your "brand" or "identity" where it's the same for all pages, just so you avoid having a bot creating something for you in the future (which may not align with your ideas).

afavour
0 replies
1d3h

There’s an SEO factor to some of these tags too, if you care about that. But otherwise no, feel free to not bother with them.

piyushtechsavy
1 replies
10h53m

Very interesting tool, usually developers check everything by posting links on these platforms.

knallfrosch
0 replies
9h21m

Nothing beats testing in prod

matteason
1 replies
1d2h

Neat tool. A couple of suggestions:

I'd make it fetch the meta tags and image using the user agent string of the services you're showing previews for. For example, Twitter/X fetches meta tags with a user agent string of Twitterbot/1.0. Some sites may serve different content to different services in order to optimise the image for display on that service.

It also looks like your API may not be looking at Twitter-specific meta tags [0], as it just returns one set of metadata that's used by every preview. For example on https://govukvue.org I use the 'summary' card format, which shows a small image with the name and description beside it. But your tool renders it as if it's a 'summary_large_image'.

[0] https://developer.x.com/en/docs/x-for-websites/cards/overvie...

fayazara
0 replies
1d2h

I'll make some improvements, laterally made it in like 2 hours.

Thanks for the suggestions

izakfr
1 replies
1d3h

This is really awesome, I’ve been looking for this exact tool. Putting the preview in the context of a real message / post makes it more useful.

fayazara
0 replies
1d2h

Thanks mate

holistio
1 replies
1d3h

This is half-baked for now.

For a lot of SPA, we generate OpenGraph images if the user-agent matches a certain pattern, e.g. if it's Facebook, Discord, Twitter, etc. making a request.

If you're not mimicking the user agents of the platforms, it will often not be the same result.

ceejayoz
0 replies
1d1h

I wish some formal standard for this would catch on, like a `META` HTTP request type or something. We try to pull in link metadata sometimes and get a Cloudflare captcha instead.

dbg31415
1 replies
1d3h

Why this tool over https://socialsharepreview.com/ or https://www.opengraph.xyz/ or https://socialmediasharepreview.com/ ?

Feedback...

You're failing on URLs that don't have HTTPS... that's awkward. I should be able to type any site and have it be smart enough to go to the URL and scan against the resolved URL. Like type in "blizzard.com" and have it load "https://www.blizzard.com/en-us/" for me.

Nice to see Discord and WhatsApp I guess, but what about LinkedIn, what about Pinterest. Or Slack (should be the same as Discord).

You don't include what to fix. Check out how socialsharepreview.com does it.

https://socialsharepreview.com/?url=https%3A%2F%2Fnews.ycomb...

https://i.imgur.com/LDXNYYR.png

It has a bunch of helpful tips on what to fix to make your content unfurl correctly. Really useful for the marketing crowd that loves this stuff. These sites all use different formats, different character counts... It's good to share information about what to fix. Twitter cards, vs. Open Graph metadata, for example. (I didn't check but it'd be good to make sure you're loading the right ones for the right site.)

adithyassekhar
1 replies
1d3h

The WhatsApp preview is not accurate at all compared to my Android. Is this designed around how it would look on iphones?

shreddit
0 replies
1d3h

It doesn’t. On iPhone the image and the text are in one line

wlonkly
0 replies
19h41m

Oh, this is nice! I would love to see a Slack unfurl sample. I don't entirely understand why Slack unfurls are unpredictable sometimes, but for example, an Instagram reel link unfurls just fine on Twitter or Facebook, but has no unfurl at all on Slack.

valbis
0 replies
1d4h

straight to the point without any fuss. well done

steelcm
0 replies
8h2m

Looks good, but doesn't implement video previews, which seems to be the case with most of these OG preview tools.

sh4jid
0 replies
1d4h

It's amazing! Thanks for sharing.

seagullriffic
0 replies
9h13m

The LinkedIn preview text made me laugh, thank you :)

reporter7
0 replies
5h3m

failed to fetch meta tags

See this a lot. So you're seeing the same problem I am in my side projects -- Cloudflare, Fastly, etc must have an anti-abuse / anti-AI scraping setting and it's causing 403 errors when they detect you're not a legitimate client. They're whitelisting IP ranges of major social media servers though because it will get the link preview from Telegram, iMessage, etc.

Try it yourself with links to fastcompany.com or kickstarter.

pino82
0 replies
16h20m

I'm still dreaming about days when I can just write my website against the standarda and test it with my browser and then be happy if it works, because it will of course work in all other browsers too.

And now there is a tool where you can manually check how a ton of proprietary chat tools render some previews for your page.

And everyone gets mad as if that's the greatest thing since paper was invented.

Not in a forum of funny media guys, but at HN.

Interesting times...

pimlottc
0 replies
1d1h

How do I know this is accurate? Does it actual use tools/APIs provided by the social media sites to generate the preview or does it just re-implement the same HTML based on observation (and therefore require constant updates to keep it in sync)?

moonleay
0 replies
1d4h

Cool idea, though it seems like it still requires some polish. There are small issues, for example: the design of HN links on Discord does not seem to be correct.

mcint
0 replies
20h55m

Well done! Nice to play with. Seeing it in context of each platform's default interface is *chefs kiss* a nice touch.

- It sounds like meta-crawlers for each platform might behave differently, and I noticed previews don't match what I see elsewhere, 0/2 in the 2 I know well, WhatsApp & Discord.

- It would be good to report redirects that happen in link following.

- Needs target url in URL query params or fragment.

https://linkpreview.xyz/#example.com

https://linkpreview.xyz/#url=https://example.com

https://linkpreview.xyz/?url=https://example.com

Without data specifiable in URL it's a cute tool on a web page, whereas with data controlled by URL it's a native, shareable web utility. Just as cool URLs don't change, on the web URLs are the API.

(Updated after seeing your tweet, https://x.com/fayazara/status/1830272619637047359 [top HN]+ [all critique]!)

johnchristopher
0 replies
22h19m

It's interesting that you are adding the cruft around each preview (e.g.: the facebook comment form, etc.).

That's what differentiate from https://opengraph.dev/ that I use regularly.

iJohnDoe
0 replies
16h59m

Very helpful. Great job!

The X preview seems to crop on the left for a couple sites I tried. Not sure if that is accurate or not. Those sites look good in the other previews. I tend to use iMessage as a test and they look okay there, which I believe uses the X/Twitter tags.

hoherd
0 replies
1d3h

Currently this appears to not handle quotes in titles properly, rendering them as ' instead of an ascii quote.

gejose
0 replies
1d3h

Please change the text input to not autocorrect words.

Great tool!

fayazara
0 replies
11h10m

Linkedin and Telegram previews now available

ebloom19
0 replies
15h59m

Neat little tool! It helped me figure out my websites logo is getting cropped on some socials. Making it easy to see how I need to modify it to fix the issue.

dorpstein
0 replies
1d2h

This is really cool. I’m shipping a side project soon and this made me rethink the preview.

dheera
0 replies
17h24m

I wish all thase sites that blast me with GDPR, newsletter, unsolicited chatbot, and 5 other popups could see that if on a mobile device the whole website us covered up in shit I have to deal with, I lose interest in the site and bounce

breck
0 replies
1d1h

Oh wow, I need this! I make a static site generator and making sure my users' contents appear well on social media sharing is very important. You already helped me find a few bugs. Thank you.

Here's my user test: https://www.loom.com/share/b7cb729ed84b407d95ee764ab60c7dd3?...

audiala
0 replies
23h8m

Thanks, I like the design of your site better than the other alternatives I found and it came exactly when I needed it. As other have mentioned, a way to run it locally would be great to not have to deploy live or create a tunnel in order to test it.

anonymousd3vil
0 replies
1h59m

This is some good stuff!

aitchnyu
0 replies
5h39m

It breaks on Firefox.

Scotrix
0 replies
20h14m

very nice!

I built a service (https://yasl.at) which allows to generate short url with customised meta data via a simple API to deep-link into web games and specifically results/things worthwhile to share without having the headache of tampering in each game over and over again.

You can read more about one of my use-cases specifically here: https://medium.com/@degola/supercharge-your-links-with-custo...

Open to do some backlinking @fayazara?

Jackson__
0 replies
1d3h

This will be very useful for the half-decade we might have left until links to anything except the top 5 sites are auto-filtered.

DitheringIdiot
0 replies
23h36m

I built the opposite of this tool. It lets you generate a page to check which meta tags will generate a preview on a given platform.

https://getoutofmyhead.dev/link-preview-tester/