ActivityPub Viewer

A small tool to view real-world ActivityPub objects as JSON! Enter a URL or username from Mastodon or a similar service below, and we'll send a request with the right Accept header to the server to view the underlying object.

Open in browser →
{ "@context": [ "https://www.w3.org/ns/activitystreams", { "ostatus": "http://ostatus.org#", "atomUri": "ostatus:atomUri", "inReplyToAtomUri": "ostatus:inReplyToAtomUri", "conversation": "ostatus:conversation", "sensitive": "as:sensitive", "toot": "http://joinmastodon.org/ns#", "votersCount": "toot:votersCount", "blurhash": "toot:blurhash", "focalPoint": { "@container": "@list", "@id": "toot:focalPoint" }, "Hashtag": "as:Hashtag" } ], "id": "https://mastodon.social/users/anatudor/statuses/112410224855133935", "type": "Note", "summary": null, "inReplyTo": null, "published": "2024-05-09T08:38:29Z", "url": "https://mastodon.social/@anatudor/112410224855133935", "attributedTo": "https://mastodon.social/users/anatudor", "to": [ "https://www.w3.org/ns/activitystreams#Public" ], "cc": [ "https://mastodon.social/users/anatudor/followers" ], "sensitive": false, "atomUri": "https://mastodon.social/users/anatudor/statuses/112410224855133935", "inReplyToAtomUri": null, "conversation": "tag:mastodon.social,2024-05-09:objectId=703495267:objectType=Conversation", "content": "<p>Most cursive <a href=\"https://mastodon.social/tags/fonts\" class=\"mention hashtag\" rel=\"tag\">#<span>fonts</span></a> are unusable with `text-stroke`. Yeah, there&#39;s `paint-order`, but I want to have a *semi-transparent* stroke *on top* of the fill in order to create a `font-size`-relative *double* stroke (think something like <a href=\"https://dribbble.com/shots/15885997-Vintage-Typography\" target=\"_blank\" rel=\"nofollow noopener\" translate=\"no\"><span class=\"invisible\">https://</span><span class=\"ellipsis\">dribbble.com/shots/15885997-Vi</span><span class=\"invisible\">ntage-Typography</span></a>, where we have an inner white stroke and an outer blue one), so just covering up the stroke where it intersects the fill defeats that purpose.</p><p><a href=\"https://mastodon.social/tags/textStroke\" class=\"mention hashtag\" rel=\"tag\">#<span>textStroke</span></a> <a href=\"https://mastodon.social/tags/stroke\" class=\"mention hashtag\" rel=\"tag\">#<span>stroke</span></a> <a href=\"https://mastodon.social/tags/strokedText\" class=\"mention hashtag\" rel=\"tag\">#<span>strokedText</span></a> <a href=\"https://mastodon.social/tags/handwriting\" class=\"mention hashtag\" rel=\"tag\">#<span>handwriting</span></a> <a href=\"https://mastodon.social/tags/font\" class=\"mention hashtag\" rel=\"tag\">#<span>font</span></a> <a href=\"https://mastodon.social/tags/typography\" class=\"mention hashtag\" rel=\"tag\">#<span>typography</span></a> <a href=\"https://mastodon.social/tags/css\" class=\"mention hashtag\" rel=\"tag\">#<span>css</span></a> <a href=\"https://mastodon.social/tags/code\" class=\"mention hashtag\" rel=\"tag\">#<span>code</span></a> <a href=\"https://mastodon.social/tags/coding\" class=\"mention hashtag\" rel=\"tag\">#<span>coding</span></a> <a href=\"https://mastodon.social/tags/frontend\" class=\"mention hashtag\" rel=\"tag\">#<span>frontend</span></a> <a href=\"https://mastodon.social/tags/webDev\" class=\"mention hashtag\" rel=\"tag\">#<span>webDev</span></a></p>", "contentMap": { "en": "<p>Most cursive <a href=\"https://mastodon.social/tags/fonts\" class=\"mention hashtag\" rel=\"tag\">#<span>fonts</span></a> are unusable with `text-stroke`. Yeah, there&#39;s `paint-order`, but I want to have a *semi-transparent* stroke *on top* of the fill in order to create a `font-size`-relative *double* stroke (think something like <a href=\"https://dribbble.com/shots/15885997-Vintage-Typography\" target=\"_blank\" rel=\"nofollow noopener\" translate=\"no\"><span class=\"invisible\">https://</span><span class=\"ellipsis\">dribbble.com/shots/15885997-Vi</span><span class=\"invisible\">ntage-Typography</span></a>, where we have an inner white stroke and an outer blue one), so just covering up the stroke where it intersects the fill defeats that purpose.</p><p><a href=\"https://mastodon.social/tags/textStroke\" class=\"mention hashtag\" rel=\"tag\">#<span>textStroke</span></a> <a href=\"https://mastodon.social/tags/stroke\" class=\"mention hashtag\" rel=\"tag\">#<span>stroke</span></a> <a href=\"https://mastodon.social/tags/strokedText\" class=\"mention hashtag\" rel=\"tag\">#<span>strokedText</span></a> <a href=\"https://mastodon.social/tags/handwriting\" class=\"mention hashtag\" rel=\"tag\">#<span>handwriting</span></a> <a href=\"https://mastodon.social/tags/font\" class=\"mention hashtag\" rel=\"tag\">#<span>font</span></a> <a href=\"https://mastodon.social/tags/typography\" class=\"mention hashtag\" rel=\"tag\">#<span>typography</span></a> <a href=\"https://mastodon.social/tags/css\" class=\"mention hashtag\" rel=\"tag\">#<span>css</span></a> <a href=\"https://mastodon.social/tags/code\" class=\"mention hashtag\" rel=\"tag\">#<span>code</span></a> <a href=\"https://mastodon.social/tags/coding\" class=\"mention hashtag\" rel=\"tag\">#<span>coding</span></a> <a href=\"https://mastodon.social/tags/frontend\" class=\"mention hashtag\" rel=\"tag\">#<span>frontend</span></a> <a href=\"https://mastodon.social/tags/webDev\" class=\"mention hashtag\" rel=\"tag\">#<span>webDev</span></a></p>" }, "updated": "2024-05-09T08:44:59Z", "attachment": [ { "type": "Document", "mediaType": "video/mp4", "url": "https://files.mastodon.social/media_attachments/files/112/410/207/134/527/957/original/21b45604bb7b3e54.mp4", "name": "Scrolling through \"handwriting\" options on Google Fonts after giving all samples a thick, semi-transparent `text-stroke` from DevTools. The inner part (overlapping the fill) of the strokes is a mess.", "blurhash": "UaEo79xaIokCNZNGs:ayIVxaWVWB0ea|$*j[", "focalPoint": [ 0, 0 ], "width": 1224, "height": 758 }, { "type": "Document", "mediaType": "image/png", "url": "https://files.mastodon.social/media_attachments/files/112/410/207/997/990/288/original/7104a56a48f1b23f.png", "name": "The text \"Vintage\" with an inner white stroke and an outer blue one. Both strokes follow the outer shape of the text.", "blurhash": "USR,5coe$JoJw_W=Sgnj{IayOGWXJ8r=r@X8", "focalPoint": [ 0, 0 ], "width": 1000, "height": 750 } ], "tag": [ { "type": "Hashtag", "href": "https://mastodon.social/tags/fonts", "name": "#fonts" }, { "type": "Hashtag", "href": "https://mastodon.social/tags/textstroke", "name": "#textstroke" }, { "type": "Hashtag", "href": "https://mastodon.social/tags/stroke", "name": "#stroke" }, { "type": "Hashtag", "href": "https://mastodon.social/tags/strokedtext", "name": "#strokedtext" }, { "type": "Hashtag", "href": "https://mastodon.social/tags/handwriting", "name": "#handwriting" }, { "type": "Hashtag", "href": "https://mastodon.social/tags/font", "name": "#font" }, { "type": "Hashtag", "href": "https://mastodon.social/tags/typography", "name": "#typography" }, { "type": "Hashtag", "href": "https://mastodon.social/tags/css", "name": "#css" }, { "type": "Hashtag", "href": "https://mastodon.social/tags/code", "name": "#code" }, { "type": "Hashtag", "href": "https://mastodon.social/tags/coding", "name": "#coding" }, { "type": "Hashtag", "href": "https://mastodon.social/tags/frontend", "name": "#frontend" }, { "type": "Hashtag", "href": "https://mastodon.social/tags/webdev", "name": "#webdev" } ], "replies": { "id": "https://mastodon.social/users/anatudor/statuses/112410224855133935/replies", "type": "Collection", "first": { "type": "CollectionPage", "next": "https://mastodon.social/users/anatudor/statuses/112410224855133935/replies?min_id=112412074144791241&page=true", "partOf": "https://mastodon.social/users/anatudor/statuses/112410224855133935/replies", "items": [ "https://mastodon.social/users/anatudor/statuses/112412074144791241" ] } }, "likes": { "id": "https://mastodon.social/users/anatudor/statuses/112410224855133935/likes", "type": "Collection", "totalItems": 2 }, "shares": { "id": "https://mastodon.social/users/anatudor/statuses/112410224855133935/shares", "type": "Collection", "totalItems": 0 } }