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.
{
"@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/112438393816559915/replies",
"type": "Collection",
"first": {
"id": "https://mastodon.social/users/anatudor/statuses/112438393816559915/replies?page=true",
"type": "CollectionPage",
"next": "https://mastodon.social/users/anatudor/statuses/112438393816559915/replies?only_other_accounts=true&page=true",
"partOf": "https://mastodon.social/users/anatudor/statuses/112438393816559915/replies",
"items": [
{
"id": "https://mastodon.social/users/anatudor/statuses/112438541045537778",
"type": "Note",
"summary": null,
"inReplyTo": "https://mastodon.social/users/anatudor/statuses/112438393816559915",
"published": "2024-05-14T08:39:40Z",
"url": "https://mastodon.social/@anatudor/112438541045537778",
"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/112438541045537778",
"inReplyToAtomUri": "https://mastodon.social/users/anatudor/statuses/112438393816559915",
"conversation": "tag:mastodon.social,2024-05-13:objectId=706695871:objectType=Conversation",
"content": "<p>Length values in a filter (dx, dy, stdDeviation) are either all in px or relative to box dimensions (if primitiveUnits='objectBoundingBox')</p><p><a href=\"https://drafts.fxtf.org/filter-effects/#element-attrdef-filter-filterunits\" target=\"_blank\" rel=\"nofollow noopener\" translate=\"no\"><span class=\"invisible\">https://</span><span class=\"ellipsis\">drafts.fxtf.org/filter-effects</span><span class=\"invisible\">/#element-attrdef-filter-filterunits</span></a></p><p>This is something I find massively problematic - <a href=\"https://mastodon.social/tags/SVG\" class=\"mention hashtag\" rel=\"tag\">#<span>SVG</span></a> got left behind. <a href=\"https://mastodon.social/@anatudor/111596456117533541\" target=\"_blank\" rel=\"nofollow noopener\" translate=\"no\"><span class=\"invisible\">https://</span><span class=\"ellipsis\">mastodon.social/@anatudor/1115</span><span class=\"invisible\">96456117533541</span></a></p><p>While <a href=\"https://mastodon.social/tags/CSS\" class=\"mention hashtag\" rel=\"tag\">#<span>CSS</span></a> <a href=\"https://mastodon.social/tags/filter\" class=\"mention hashtag\" rel=\"tag\">#<span>filter</span></a> functions like `drop-shadow()` allow us to specify the offsets and/ or standard deviation using font-relative units, SVG filters don't.</p><p><a href=\"https://mastodon.social/tags/svgFilter\" class=\"mention hashtag\" rel=\"tag\">#<span>svgFilter</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/gotcha\" class=\"mention hashtag\" rel=\"tag\">#<span>gotcha</span></a> <a href=\"https://mastodon.social/tags/web\" class=\"mention hashtag\" rel=\"tag\">#<span>web</span></a> <a href=\"https://mastodon.social/tags/dev\" class=\"mention hashtag\" rel=\"tag\">#<span>dev</span></a> <a href=\"https://mastodon.social/tags/webDev\" class=\"mention hashtag\" rel=\"tag\">#<span>webDev</span></a> <a href=\"https://mastodon.social/tags/webDevelopment\" class=\"mention hashtag\" rel=\"tag\">#<span>webDevelopment</span></a></p>",
"contentMap": {
"en": "<p>Length values in a filter (dx, dy, stdDeviation) are either all in px or relative to box dimensions (if primitiveUnits='objectBoundingBox')</p><p><a href=\"https://drafts.fxtf.org/filter-effects/#element-attrdef-filter-filterunits\" target=\"_blank\" rel=\"nofollow noopener\" translate=\"no\"><span class=\"invisible\">https://</span><span class=\"ellipsis\">drafts.fxtf.org/filter-effects</span><span class=\"invisible\">/#element-attrdef-filter-filterunits</span></a></p><p>This is something I find massively problematic - <a href=\"https://mastodon.social/tags/SVG\" class=\"mention hashtag\" rel=\"tag\">#<span>SVG</span></a> got left behind. <a href=\"https://mastodon.social/@anatudor/111596456117533541\" target=\"_blank\" rel=\"nofollow noopener\" translate=\"no\"><span class=\"invisible\">https://</span><span class=\"ellipsis\">mastodon.social/@anatudor/1115</span><span class=\"invisible\">96456117533541</span></a></p><p>While <a href=\"https://mastodon.social/tags/CSS\" class=\"mention hashtag\" rel=\"tag\">#<span>CSS</span></a> <a href=\"https://mastodon.social/tags/filter\" class=\"mention hashtag\" rel=\"tag\">#<span>filter</span></a> functions like `drop-shadow()` allow us to specify the offsets and/ or standard deviation using font-relative units, SVG filters don't.</p><p><a href=\"https://mastodon.social/tags/svgFilter\" class=\"mention hashtag\" rel=\"tag\">#<span>svgFilter</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/gotcha\" class=\"mention hashtag\" rel=\"tag\">#<span>gotcha</span></a> <a href=\"https://mastodon.social/tags/web\" class=\"mention hashtag\" rel=\"tag\">#<span>web</span></a> <a href=\"https://mastodon.social/tags/dev\" class=\"mention hashtag\" rel=\"tag\">#<span>dev</span></a> <a href=\"https://mastodon.social/tags/webDev\" class=\"mention hashtag\" rel=\"tag\">#<span>webDev</span></a> <a href=\"https://mastodon.social/tags/webDevelopment\" class=\"mention hashtag\" rel=\"tag\">#<span>webDevelopment</span></a></p>"
},
"attachment": [
{
"type": "Document",
"mediaType": "image/png",
"url": "https://files.mastodon.social/media_attachments/files/112/438/523/236/608/989/original/df30689dc3f158c5.png",
"name": "Screenshot of the inset shadow SVG filter code, highlighting the length attributes of the filter primitives.",
"blurhash": "UICZFks;RQM_01ofoztR_3ayaxRPIUbHxuoz",
"focalPoint": [
0,
0
],
"width": 783,
"height": 852
},
{
"type": "Document",
"mediaType": "image/png",
"url": "https://files.mastodon.social/media_attachments/files/112/438/530/134/518/207/original/5100d4b63d0b03b3.png",
"name": "From the spec:\n\nprimitiveUnits = \"userSpaceOnUse | objectBoundingBox\"\nSpecifies the coordinate system for the various length values within the filter primitives and for the attributes that define the filter primitive subregion.\n\nIf primitiveUnits is equal to userSpaceOnUse, any length values within the filter definitions represent values in the current local coordinate system in place at the time when the filter element is referenced (i.e., the user coordinate system for the element referencing the filter element via a filter property).\n\nIf primitiveUnits is equal to objectBoundingBox, then any length values within the filter definitions represent fractions or percentages of the bounding box on the referencing element (see object bounding box units). Note that if only one number was specified in a <number-optional-number> value this number is expanded out before the primitiveUnits computation takes place.\n\nThe initial value for primitiveUnits is userSpaceOnUse.",
"blurhash": "U26*m@NfDhe-?bRoRnjXIAt7xus,~WWVjEof",
"focalPoint": [
0,
0
],
"width": 494,
"height": 480
}
],
"tag": [
{
"type": "Hashtag",
"href": "https://mastodon.social/tags/svg",
"name": "#svg"
},
{
"type": "Hashtag",
"href": "https://mastodon.social/tags/css",
"name": "#css"
},
{
"type": "Hashtag",
"href": "https://mastodon.social/tags/filter",
"name": "#filter"
},
{
"type": "Hashtag",
"href": "https://mastodon.social/tags/SVGFilter",
"name": "#SVGFilter"
},
{
"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/gotcha",
"name": "#gotcha"
},
{
"type": "Hashtag",
"href": "https://mastodon.social/tags/web",
"name": "#web"
},
{
"type": "Hashtag",
"href": "https://mastodon.social/tags/dev",
"name": "#dev"
},
{
"type": "Hashtag",
"href": "https://mastodon.social/tags/webdev",
"name": "#webdev"
},
{
"type": "Hashtag",
"href": "https://mastodon.social/tags/webdevelopment",
"name": "#webdevelopment"
}
],
"replies": {
"id": "https://mastodon.social/users/anatudor/statuses/112438541045537778/replies",
"type": "Collection",
"first": {
"type": "CollectionPage",
"next": "https://mastodon.social/users/anatudor/statuses/112438541045537778/replies?min_id=112438615667470695&page=true",
"partOf": "https://mastodon.social/users/anatudor/statuses/112438541045537778/replies",
"items": [
"https://mastodon.social/users/anatudor/statuses/112438615667470695"
]
}
},
"likes": {
"id": "https://mastodon.social/users/anatudor/statuses/112438541045537778/likes",
"type": "Collection",
"totalItems": 2
},
"shares": {
"id": "https://mastodon.social/users/anatudor/statuses/112438541045537778/shares",
"type": "Collection",
"totalItems": 0
}
}
]
}
}