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/dec_hl/statuses/114376861898387234", "type": "Note", "summary": null, "inReplyTo": null, "published": "2025-04-21T16:20:09Z", "url": "https://mastodon.social/@dec_hl/114376861898387234", "attributedTo": "https://mastodon.social/users/dec_hl", "to": [ "https://www.w3.org/ns/activitystreams#Public" ], "cc": [ "https://mastodon.social/users/dec_hl/followers" ], "sensitive": false, "atomUri": "https://mastodon.social/users/dec_hl/statuses/114376861898387234", "inReplyToAtomUri": null, "conversation": "tag:mastodon.social,2025-04-21:objectId=977869007:objectType=Conversation", "content": "<p>After some delay I did an update of <a href=\"https://mastodon.social/tags/lib16\" class=\"mention hashtag\" rel=\"tag\">#<span>lib16</span></a> (a tiny helper library for <a href=\"https://mastodon.social/tags/OpenWatcom\" class=\"mention hashtag\" rel=\"tag\">#<span>OpenWatcom</span></a> 16-bit DOS programs).</p><p><a href=\"https://github.com/SuperIlu/lib16\" target=\"_blank\" rel=\"nofollow noopener\" translate=\"no\"><span class=\"invisible\">https://</span><span class=\"\">github.com/SuperIlu/lib16</span><span class=\"invisible\"></span></a></p><p>This time I added <a href=\"https://mastodon.social/tags/Lua\" class=\"mention hashtag\" rel=\"tag\">#<span>Lua</span></a> to the mix (example prj04). You can now write graphical scripts using Lua on <a href=\"https://mastodon.social/tags/MSDOS\" class=\"mention hashtag\" rel=\"tag\">#<span>MSDOS</span></a>. I also included the regular lua.exe and luac.exe binaries. This is compiled for i386/387 upwards...</p><p><a href=\"https://mastodon.social/tags/RetroComputing\" class=\"mention hashtag\" rel=\"tag\">#<span>RetroComputing</span></a> <a href=\"https://mastodon.social/tags/FreeDOS\" class=\"mention hashtag\" rel=\"tag\">#<span>FreeDOS</span></a> <a href=\"https://mastodon.social/tags/CreativeCoding\" class=\"mention hashtag\" rel=\"tag\">#<span>CreativeCoding</span></a></p>", "contentMap": { "en": "<p>After some delay I did an update of <a href=\"https://mastodon.social/tags/lib16\" class=\"mention hashtag\" rel=\"tag\">#<span>lib16</span></a> (a tiny helper library for <a href=\"https://mastodon.social/tags/OpenWatcom\" class=\"mention hashtag\" rel=\"tag\">#<span>OpenWatcom</span></a> 16-bit DOS programs).</p><p><a href=\"https://github.com/SuperIlu/lib16\" target=\"_blank\" rel=\"nofollow noopener\" translate=\"no\"><span class=\"invisible\">https://</span><span class=\"\">github.com/SuperIlu/lib16</span><span class=\"invisible\"></span></a></p><p>This time I added <a href=\"https://mastodon.social/tags/Lua\" class=\"mention hashtag\" rel=\"tag\">#<span>Lua</span></a> to the mix (example prj04). You can now write graphical scripts using Lua on <a href=\"https://mastodon.social/tags/MSDOS\" class=\"mention hashtag\" rel=\"tag\">#<span>MSDOS</span></a>. I also included the regular lua.exe and luac.exe binaries. This is compiled for i386/387 upwards...</p><p><a href=\"https://mastodon.social/tags/RetroComputing\" class=\"mention hashtag\" rel=\"tag\">#<span>RetroComputing</span></a> <a href=\"https://mastodon.social/tags/FreeDOS\" class=\"mention hashtag\" rel=\"tag\">#<span>FreeDOS</span></a> <a href=\"https://mastodon.social/tags/CreativeCoding\" class=\"mention hashtag\" rel=\"tag\">#<span>CreativeCoding</span></a></p>" }, "attachment": [ { "type": "Document", "mediaType": "image/png", "url": "https://files.mastodon.social/media_attachments/files/114/376/839/755/677/745/original/488e2a21a6b91187.png", "name": "require \"prj04/func\"\n\nT = 0\nFG_COL_IDX = 63\nBG_COL_IDX = 0\n\nfunction Draw()\n\tvga_filled_rect(0, 0, width, height, BG_COL_IDX)\n\tvga_wait_for_retrace()\n\tfor i = 0, 10 do\n\t\tV(width / 2, height / 2, i - T, 5)\n\tend\nend\n\nfunction V(x, y, a, l)\n\tx = x + l * math.sin(a) * 15\n\ty = y - l * math.cos(a) * 15\n\n\t-- vga_filled_rect(ix, iy, ix + 4, iy + 4, FG_COL_IDX)\n\tvga_set_pixel(x, y, FG_COL_IDX)\n\n\tif l > 1 then\n\t\tl = l * .7\n\t\tV(x, y, a + 1 + math.cos(T), l)\n\t\tV(x, y, a - 1 - math.sin(T), l)\n\tend\nend\n\nvga_init()\nvga_grayscale_palette()\nwhile true do\n\tlocal k = getkey();\n\tif k == KEY_ESC then\n\t\tbreak\n\tend\n\tDraw()\n\tT = T + 0.01\nend\nvga_exit()\n", "blurhash": "UBSPX|019Yt2xtj?kCa#xtWUM|WC%MWUWUa#", "focalPoint": [ 0, 0 ], "width": 694, "height": 818 }, { "type": "Document", "mediaType": "image/png", "url": "https://files.mastodon.social/media_attachments/files/114/376/840/897/430/522/original/a58d8ee7ec60181d.png", "name": "require \"prj04/func\"\n\nFG_COL_IDX = 32\nBG_COL_IDX = 0\nX_SPACING = 8\nMAX_WAVES = 4\nTheta = 0.0;\nAmplitude = {}\nDx = {}\nYValues = 0;\n\nfunction Setup()\n\tlocal w = width + 16; -- Width of entire wave\n\tfor i = 0, MAX_WAVES do\n\t\tAmplitude[i] = (math.random(10, 30))\n\t\tlocal period = math.random(100, 300)\n\t\tDx[i] = ((math.pi * 2 / period) * X_SPACING);\n\tend\n\tYValues = {}\n\tNumYValues = math.floor(w / X_SPACING)\n\tfor i = 1, NumYValues do\n\t\tYValues[i] = 0\n\tend\nend\n\nfunction Draw()\n\tCalcWave();\n\tvga_wait_for_retrace()\n\tvga_filled_rect(0, 0, width, height, BG_COL_IDX)\n\tvga_wait_for_retrace()\n\tRenderWave();\nend\n\nfunction CalcWave()\n\tTheta = Theta + 0.02\n\tfor i = 0, NumYValues do\n\t\tYValues[i] = 0;\n\tend\n\tfor j = 0, MAX_WAVES do\n\t\tlocal x = Theta;\n\t\tfor i = 0, NumYValues do\n\t\t\t-- Every other wave is cosine instead of sine\n\t\t\tif j % 2 == 0 then\n\t\t\t\tYValues[i] = YValues[i] + math.sin(x) * Amplitude[j];\n\t\t\telse\n\t\t\t\tYValues[i] = YValues[i] + math.cos(x) * Amplitude[j];\n\t\t\tend\n\t\t\tx = x + Dx[j];\n\t\tend\n\tend\nend\n\nfunction RenderWave()\n\tfor x = 0, NumYValues do\n\t\tvga_circle(x * X_SPACING, height / 2 + YValues[x], X_SPACING, FG_COL_IDX)\n\tend\nend\n\nvga_init()\nvga_grayscale_palette()\nSetup()\nwhile true do\n\tlocal k = getkey();\n\tif k == KEY_ESC then\n\t\tbreak\n\tend\n\tDraw()\nend\nvga_exit()\n", "blurhash": "U5SijZ038}-=%ejFjZt6kSt7V]M|%fovxus;", "focalPoint": [ 0, 0 ], "width": 1017, "height": 1617 }, { "type": "Document", "mediaType": "image/jpeg", "url": "https://files.mastodon.social/media_attachments/files/114/376/847/932/662/180/original/3940574d160610b7.jpg", "name": "Picture of a notebook screen. The screen is black and filled with white dots in a circular pattern.", "blurhash": "ULBy~l-;-:t7IWogR+a|~VkBxuazS6WDM|ju", "focalPoint": [ 0, 0 ], "width": 2672, "height": 2004 }, { "type": "Document", "mediaType": "image/jpeg", "url": "https://files.mastodon.social/media_attachments/files/114/376/850/632/953/128/original/3d4644eca3df25b2.jpg", "name": "picture of an EeePC netbook with a black screen. There is a wave pattern drawn from unfilled white circles on the screen.", "blurhash": "UcG+K]%Nt7t701oft7ay%Mt7ofj[-:ofWCay", "focalPoint": [ 0, 0 ], "width": 1503, "height": 2004 } ], "tag": [ { "type": "Hashtag", "href": "https://mastodon.social/tags/lib16", "name": "#lib16" }, { "type": "Hashtag", "href": "https://mastodon.social/tags/openwatcom", "name": "#openwatcom" }, { "type": "Hashtag", "href": "https://mastodon.social/tags/lua", "name": "#lua" }, { "type": "Hashtag", "href": "https://mastodon.social/tags/msdos", "name": "#msdos" }, { "type": "Hashtag", "href": "https://mastodon.social/tags/retrocomputing", "name": "#retrocomputing" }, { "type": "Hashtag", "href": "https://mastodon.social/tags/freedos", "name": "#freedos" }, { "type": "Hashtag", "href": "https://mastodon.social/tags/creativecoding", "name": "#creativecoding" } ], "replies": { "id": "https://mastodon.social/users/dec_hl/statuses/114376861898387234/replies", "type": "Collection", "first": { "type": "CollectionPage", "next": "https://mastodon.social/users/dec_hl/statuses/114376861898387234/replies?only_other_accounts=true&page=true", "partOf": "https://mastodon.social/users/dec_hl/statuses/114376861898387234/replies", "items": [] } }, "likes": { "id": "https://mastodon.social/users/dec_hl/statuses/114376861898387234/likes", "type": "Collection", "totalItems": 20 }, "shares": { "id": "https://mastodon.social/users/dec_hl/statuses/114376861898387234/shares", "type": "Collection", "totalItems": 5 } }