Nostr WoT

Nostr Widgets

Drop a Nostr profile card, follow button, or live feed into any blog, README, or landing page with one line of HTML.

Profile badge

320×220

Self-contained card with avatar, display name, NIP-05, bio, and a Follow on Nostr CTA. Use it in author bios, sidebars, or "find me on Nostr" sections.

Profile badge
/widgets/profile/{npub}

Follow button

220×44

Pill-shaped button that links straight to the user's profile on nostr-wot.com. Drop it next to your other social buttons.

Follow button
/widgets/follow/{npub}

Feed strip

320×variable

The author's last 1–5 short notes, rendered as a vertical list. Embed it where you'd put a "latest posts" widget.

Feed strip
/widgets/feed/{npub}?limit=3

Three widget kinds

Each one is an SVG behind an anchor. Pick a kind, paste the snippet, you're done.

No JavaScript

Just an '<img>' of a server-rendered SVG. Safe to embed anywhere — no third-party script on your page.

No iframes

Real '<a>' anchors point at nostr-wot.com so crawlers attribute the link properly. Iframes hide the destination — we don't use them.

No tracking

Static SVG only. No tracking pixel, no analytics, no fingerprinting. We don't see who embeds what.

One line of HTML

Replace the npub with the one you want to feature. The snippet works in static-site generators, Notion, Substack, GitHub READMEs, and any markdown editor that accepts an image.

html
<a href="https://nostr-wot.com/profile/npub1gxdhmu9swqduwhr6zptjy4ya693zp3ql28nemy4hd97kuufyrqdqwe5zfk"
   target="_blank" rel="noopener">
  <img
    src="https://nostr-wot.com/widgets/profile/npub1gxdhmu9swqduwhr6zptjy4ya693zp3ql28nemy4hd97kuufyrqdqwe5zfk"
    alt="Profile on Nostr"
    width="320"
    height="220"
  />
</a>

Open source

The renderer and the server are both MIT-licensed. Self-host the service if you'd rather not depend on nostr-wot.com, or contribute a new widget kind via PR.

github.com/nostr-wot/nostr-widgets