Hashtags and JSON-LD¶
The examples here are various variations of creating the Hashtag element in the tag list. These variations can be useful in understanding how strict an application sees JSON-LD.
Hashtags are a good illustration of JSON-LD parsing as Hashtag is not part of the ActivityStreams vocabulary.
All examples except the first are questionable, and probably should not
be used when publishing to the Fediverse. The examples marked with
⚠️ are expected to fail with a JSON-LD parser. The examples using
as:Hashtag
are expected to fail with a JSON only parser.
Examples¶
Example 1¶
activity
{
"@context": [
"https://www.w3.org/ns/activitystreams",
{
"Hashtag": "as:Hashtag",
"sensitive": "as:sensitive"
}
],
"type": "Create",
"actor": "http://pasture-one-actor/actor",
"to": [
"https://www.w3.org/ns/activitystreams#Public",
"http://pleroma/users/full"
],
"id": "http://pasture-one-actor/activity/IftLzu-OIvE",
"published": "2025-09-01T08:19:44Z",
"object": {
"type": "Note",
"attributedTo": "http://pasture-one-actor/actor",
"to": [
"https://www.w3.org/ns/activitystreams#Public",
"http://pleroma/users/full"
],
"id": "http://pasture-one-actor/object/Edk7QXBN2ik",
"published": "2025-09-01T08:19:44Z",
"content": "text",
"tag": {
"type": "Hashtag",
"name": "#test"
}
}
}
pleroma
{
"account": {
"acct": "actor@pasture-one-actor",
"avatar": "http://pleroma/images/avi.png",
"avatar_static": "http://pleroma/images/avi.png",
"bot": false,
"created_at": "2025-09-01T08:18:11.000Z",
"display_name": "Test Actor",
"emojis": [],
"fields": [],
"followers_count": 0,
"following_count": 0,
"fqn": "actor@pasture-one-actor",
"header": "http://pleroma/images/banner.png",
"header_static": "http://pleroma/images/banner.png",
"id": "AxkxK4Z31sK9DEpHO4",
"last_status_at": "2025-09-01",
"locked": false,
"note": "",
"pleroma": {
"accepts_chat_messages": null,
"also_known_as": [],
"ap_id": "http://pasture-one-actor/actor",
"avatar_description": "",
"background_image": null,
"favicon": null,
"header_description": "",
"hide_favorites": true,
"hide_followers": false,
"hide_followers_count": false,
"hide_follows": false,
"hide_follows_count": false,
"is_admin": false,
"is_confirmed": true,
"is_moderator": false,
"is_suggested": false,
"privileges": [],
"relationship": {},
"skip_thread_containment": false,
"tags": []
},
"source": {
"fields": [],
"note": "",
"pleroma": {
"actor_type": "Person",
"discoverable": false
},
"sensitive": false
},
"statuses_count": 6,
"url": "http://pasture-one-actor/actor",
"username": "actor"
},
"application": null,
"bookmarked": false,
"card": null,
"content": "text",
"created_at": "2025-09-01T08:19:44.000Z",
"edited_at": null,
"emojis": [],
"favourited": false,
"favourites_count": 0,
"id": "AxkxSfd36lDwTznV7g",
"in_reply_to_account_id": null,
"in_reply_to_id": null,
"language": null,
"media_attachments": [],
"mentions": [
{
"acct": "full",
"id": "AxkxCTwE4ZAKfmcWeW",
"url": "http://pleroma/users/full",
"username": "full"
}
],
"muted": false,
"pinned": false,
"pleroma": {
"bookmark_folder": null,
"content": {
"text/plain": "text"
},
"context": "http://pasture-one-actor/object/Edk7QXBN2ik",
"conversation_id": 1731579473,
"direct_conversation_id": null,
"emoji_reactions": [],
"expires_at": null,
"in_reply_to_account_acct": null,
"list_id": null,
"local": false,
"parent_visible": false,
"pinned_at": null,
"quote": null,
"quote_id": null,
"quote_url": null,
"quote_visible": false,
"quotes_count": 0,
"spoiler_text": {
"text/plain": ""
},
"thread_muted": false
},
"poll": null,
"reblog": null,
"reblogged": false,
"reblogs_count": 0,
"replies_count": 0,
"sensitive": false,
"spoiler_text": "",
"tags": [
{
"name": "test",
"url": "http://pleroma/tag/test"
}
],
"text": null,
"uri": "http://pasture-one-actor/object/Edk7QXBN2ik",
"url": "http://pasture-one-actor/object/Edk7QXBN2ik",
"visibility": "public"
}
Example 2¶
activity
{
"@context": [
"https://www.w3.org/ns/activitystreams",
{
"Hashtag": "as:Hashtag",
"sensitive": "as:sensitive"
}
],
"type": "Create",
"actor": "http://pasture-one-actor/actor",
"to": [
"https://www.w3.org/ns/activitystreams#Public",
"http://pleroma/users/full"
],
"id": "http://pasture-one-actor/activity/9RikzN43SRk",
"published": "2025-09-01T08:19:45Z",
"object": {
"type": "Note",
"attributedTo": "http://pasture-one-actor/actor",
"to": [
"https://www.w3.org/ns/activitystreams#Public",
"http://pleroma/users/full"
],
"id": "http://pasture-one-actor/object/P1h-2wpcWJM",
"published": "2025-09-01T08:19:45Z",
"content": "using as:Hashtag",
"tag": {
"type": "as:Hashtag",
"name": "#test"
}
}
}
pleroma
{
"account": {
"acct": "actor@pasture-one-actor",
"avatar": "http://pleroma/images/avi.png",
"avatar_static": "http://pleroma/images/avi.png",
"bot": false,
"created_at": "2025-09-01T08:18:11.000Z",
"display_name": "Test Actor",
"emojis": [],
"fields": [],
"followers_count": 0,
"following_count": 0,
"fqn": "actor@pasture-one-actor",
"header": "http://pleroma/images/banner.png",
"header_static": "http://pleroma/images/banner.png",
"id": "AxkxK4Z31sK9DEpHO4",
"last_status_at": "2025-09-01",
"locked": false,
"note": "",
"pleroma": {
"accepts_chat_messages": null,
"also_known_as": [],
"ap_id": "http://pasture-one-actor/actor",
"avatar_description": "",
"background_image": null,
"favicon": null,
"header_description": "",
"hide_favorites": true,
"hide_followers": false,
"hide_followers_count": false,
"hide_follows": false,
"hide_follows_count": false,
"is_admin": false,
"is_confirmed": true,
"is_moderator": false,
"is_suggested": false,
"privileges": [],
"relationship": {},
"skip_thread_containment": false,
"tags": []
},
"source": {
"fields": [],
"note": "",
"pleroma": {
"actor_type": "Person",
"discoverable": false
},
"sensitive": false
},
"statuses_count": 7,
"url": "http://pasture-one-actor/actor",
"username": "actor"
},
"application": null,
"bookmarked": false,
"card": null,
"content": "using as:Hashtag",
"created_at": "2025-09-01T08:19:45.000Z",
"edited_at": null,
"emojis": [],
"favourited": false,
"favourites_count": 0,
"id": "AxkxSjgO2IGp3VODse",
"in_reply_to_account_id": null,
"in_reply_to_id": null,
"language": null,
"media_attachments": [],
"mentions": [
{
"acct": "full",
"id": "AxkxCTwE4ZAKfmcWeW",
"url": "http://pleroma/users/full",
"username": "full"
}
],
"muted": false,
"pinned": false,
"pleroma": {
"bookmark_folder": null,
"content": {
"text/plain": "using as:Hashtag"
},
"context": "http://pasture-one-actor/object/P1h-2wpcWJM",
"conversation_id": 1425701947,
"direct_conversation_id": null,
"emoji_reactions": [],
"expires_at": null,
"in_reply_to_account_acct": null,
"list_id": null,
"local": false,
"parent_visible": false,
"pinned_at": null,
"quote": null,
"quote_id": null,
"quote_url": null,
"quote_visible": false,
"quotes_count": 0,
"spoiler_text": {
"text/plain": ""
},
"thread_muted": false
},
"poll": null,
"reblog": null,
"reblogged": false,
"reblogs_count": 0,
"replies_count": 0,
"sensitive": false,
"spoiler_text": "",
"tags": [],
"text": null,
"uri": "http://pasture-one-actor/object/P1h-2wpcWJM",
"url": "http://pasture-one-actor/object/P1h-2wpcWJM",
"visibility": "public"
}
Example 3¶
activity
{
"@context": [
"https://www.w3.org/ns/activitystreams",
{
"Hashtag": "as:Hashtag",
"sensitive": "as:sensitive"
}
],
"type": "Create",
"actor": "http://pasture-one-actor/actor",
"to": [
"https://www.w3.org/ns/activitystreams#Public",
"http://pleroma/users/full"
],
"id": "http://pasture-one-actor/activity/97aDFyRhaAo",
"published": "2025-09-01T08:19:46Z",
"object": {
"type": "Note",
"attributedTo": "http://pasture-one-actor/actor",
"to": [
"https://www.w3.org/ns/activitystreams#Public",
"http://pleroma/users/full"
],
"id": "http://pasture-one-actor/object/83GalSnbra4",
"published": "2025-09-01T08:19:46Z",
"content": "no type \u26a0\ufe0f ",
"tag": {
"name": "#test"
}
}
}
no result
Example 4¶
activity
{
"@context": "https://www.w3.org/ns/activitystreams",
"type": "Create",
"actor": "http://pasture-one-actor/actor",
"to": [
"https://www.w3.org/ns/activitystreams#Public",
"http://pleroma/users/full"
],
"id": "http://pasture-one-actor/activity/k4HpQLC1mZo",
"published": "2025-09-01T08:19:57Z",
"object": {
"type": "Note",
"attributedTo": "http://pasture-one-actor/actor",
"to": [
"https://www.w3.org/ns/activitystreams#Public",
"http://pleroma/users/full"
],
"id": "http://pasture-one-actor/object/hPLTrTKcyRs",
"published": "2025-09-01T08:19:57Z",
"@context": "https://www.w3.org/ns/activitystreams",
"content": "Hashtag not in @context \u26a0\ufe0f ",
"tag": {
"type": "Hashtag",
"name": "#test"
}
}
}
pleroma
{
"account": {
"acct": "actor@pasture-one-actor",
"avatar": "http://pleroma/images/avi.png",
"avatar_static": "http://pleroma/images/avi.png",
"bot": false,
"created_at": "2025-09-01T08:18:11.000Z",
"display_name": "Test Actor",
"emojis": [],
"fields": [],
"followers_count": 0,
"following_count": 0,
"fqn": "actor@pasture-one-actor",
"header": "http://pleroma/images/banner.png",
"header_static": "http://pleroma/images/banner.png",
"id": "AxkxK4Z31sK9DEpHO4",
"last_status_at": "2025-09-01",
"locked": false,
"note": "",
"pleroma": {
"accepts_chat_messages": null,
"also_known_as": [],
"ap_id": "http://pasture-one-actor/actor",
"avatar_description": "",
"background_image": null,
"favicon": null,
"header_description": "",
"hide_favorites": true,
"hide_followers": false,
"hide_followers_count": false,
"hide_follows": false,
"hide_follows_count": false,
"is_admin": false,
"is_confirmed": true,
"is_moderator": false,
"is_suggested": false,
"privileges": [],
"relationship": {},
"skip_thread_containment": false,
"tags": []
},
"source": {
"fields": [],
"note": "",
"pleroma": {
"actor_type": "Person",
"discoverable": false
},
"sensitive": false
},
"statuses_count": 8,
"url": "http://pasture-one-actor/actor",
"username": "actor"
},
"application": null,
"bookmarked": false,
"card": null,
"content": "Hashtag not in @context \u26a0\ufe0f ",
"created_at": "2025-09-01T08:19:57.000Z",
"edited_at": null,
"emojis": [],
"favourited": false,
"favourites_count": 0,
"id": "AxkxTqJOsFsjuCAL8C",
"in_reply_to_account_id": null,
"in_reply_to_id": null,
"language": null,
"media_attachments": [],
"mentions": [
{
"acct": "full",
"id": "AxkxCTwE4ZAKfmcWeW",
"url": "http://pleroma/users/full",
"username": "full"
}
],
"muted": false,
"pinned": false,
"pleroma": {
"bookmark_folder": null,
"content": {
"text/plain": "Hashtag not in @context \u26a0\ufe0f "
},
"context": "http://pasture-one-actor/object/hPLTrTKcyRs",
"conversation_id": 1981777238,
"direct_conversation_id": null,
"emoji_reactions": [],
"expires_at": null,
"in_reply_to_account_acct": null,
"list_id": null,
"local": false,
"parent_visible": false,
"pinned_at": null,
"quote": null,
"quote_id": null,
"quote_url": null,
"quote_visible": false,
"quotes_count": 0,
"spoiler_text": {
"text/plain": ""
},
"thread_muted": false
},
"poll": null,
"reblog": null,
"reblogged": false,
"reblogs_count": 0,
"replies_count": 0,
"sensitive": false,
"spoiler_text": "",
"tags": [
{
"name": "test",
"url": "http://pleroma/tag/test"
}
],
"text": null,
"uri": "http://pasture-one-actor/object/hPLTrTKcyRs",
"url": "http://pasture-one-actor/object/hPLTrTKcyRs",
"visibility": "public"
}
Example 5¶
activity
{
"@context": "https://www.w3.org/ns/activitystreams",
"type": "Create",
"actor": "http://pasture-one-actor/actor",
"to": [
"https://www.w3.org/ns/activitystreams#Public",
"http://pleroma/users/full"
],
"id": "http://pasture-one-actor/activity/xAHAmEQXWVY",
"published": "2025-09-01T08:19:57Z",
"object": {
"type": "Note",
"attributedTo": "http://pasture-one-actor/actor",
"to": [
"https://www.w3.org/ns/activitystreams#Public",
"http://pleroma/users/full"
],
"id": "http://pasture-one-actor/object/QZXmk9zi8x8",
"published": "2025-09-01T08:19:57Z",
"@context": "https://www.w3.org/ns/activitystreams",
"content": "Hashtag not in @context; as:Hashtag",
"tag": {
"type": "as:Hashtag",
"name": "#test"
}
}
}
pleroma
{
"account": {
"acct": "actor@pasture-one-actor",
"avatar": "http://pleroma/images/avi.png",
"avatar_static": "http://pleroma/images/avi.png",
"bot": false,
"created_at": "2025-09-01T08:18:11.000Z",
"display_name": "Test Actor",
"emojis": [],
"fields": [],
"followers_count": 0,
"following_count": 0,
"fqn": "actor@pasture-one-actor",
"header": "http://pleroma/images/banner.png",
"header_static": "http://pleroma/images/banner.png",
"id": "AxkxK4Z31sK9DEpHO4",
"last_status_at": "2025-09-01",
"locked": false,
"note": "",
"pleroma": {
"accepts_chat_messages": null,
"also_known_as": [],
"ap_id": "http://pasture-one-actor/actor",
"avatar_description": "",
"background_image": null,
"favicon": null,
"header_description": "",
"hide_favorites": true,
"hide_followers": false,
"hide_followers_count": false,
"hide_follows": false,
"hide_follows_count": false,
"is_admin": false,
"is_confirmed": true,
"is_moderator": false,
"is_suggested": false,
"privileges": [],
"relationship": {},
"skip_thread_containment": false,
"tags": []
},
"source": {
"fields": [],
"note": "",
"pleroma": {
"actor_type": "Person",
"discoverable": false
},
"sensitive": false
},
"statuses_count": 9,
"url": "http://pasture-one-actor/actor",
"username": "actor"
},
"application": null,
"bookmarked": false,
"card": null,
"content": "Hashtag not in @context; as:Hashtag",
"created_at": "2025-09-01T08:19:57.000Z",
"edited_at": null,
"emojis": [],
"favourited": false,
"favourites_count": 0,
"id": "AxkxTtzhBSUrKEyeyO",
"in_reply_to_account_id": null,
"in_reply_to_id": null,
"language": null,
"media_attachments": [],
"mentions": [
{
"acct": "full",
"id": "AxkxCTwE4ZAKfmcWeW",
"url": "http://pleroma/users/full",
"username": "full"
}
],
"muted": false,
"pinned": false,
"pleroma": {
"bookmark_folder": null,
"content": {
"text/plain": "Hashtag not in @context; as:Hashtag"
},
"context": "http://pasture-one-actor/object/QZXmk9zi8x8",
"conversation_id": 324615201,
"direct_conversation_id": null,
"emoji_reactions": [],
"expires_at": null,
"in_reply_to_account_acct": null,
"list_id": null,
"local": false,
"parent_visible": false,
"pinned_at": null,
"quote": null,
"quote_id": null,
"quote_url": null,
"quote_visible": false,
"quotes_count": 0,
"spoiler_text": {
"text/plain": ""
},
"thread_muted": false
},
"poll": null,
"reblog": null,
"reblogged": false,
"reblogs_count": 0,
"replies_count": 0,
"sensitive": false,
"spoiler_text": "",
"tags": [],
"text": null,
"uri": "http://pasture-one-actor/object/QZXmk9zi8x8",
"url": "http://pasture-one-actor/object/QZXmk9zi8x8",
"visibility": "public"
}