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": [
"http://pleroma/users/full",
"https://www.w3.org/ns/activitystreams#Public"
],
"id": "http://pasture-one-actor/activity/omvIB67oiOY",
"published": "2025-10-04T15:28:54Z",
"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/_giBjJyMLqc",
"published": "2025-10-04T15:28:54Z",
"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-10-04T15:27:23.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": "AyryaDil1MdlzhybCK",
"last_status_at": "2025-10-04",
"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-10-04T15:28:54.000Z",
"edited_at": null,
"emojis": [],
"favourited": false,
"favourites_count": 0,
"id": "AyryiZrWaFRKyu3umO",
"in_reply_to_account_id": null,
"in_reply_to_id": null,
"language": null,
"media_attachments": [],
"mentions": [
{
"acct": "full",
"id": "AyrySeh8G8UUWVnaEa",
"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/_giBjJyMLqc",
"conversation_id": 2022473503,
"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/_giBjJyMLqc",
"url": "http://pasture-one-actor/object/_giBjJyMLqc",
"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": [
"http://pleroma/users/full",
"https://www.w3.org/ns/activitystreams#Public"
],
"id": "http://pasture-one-actor/activity/ZhPg8l-VreA",
"published": "2025-10-04T15:28:54Z",
"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/Nyyaryz7uUM",
"published": "2025-10-04T15:28:54Z",
"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-10-04T15:27:23.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": "AyryaDil1MdlzhybCK",
"last_status_at": "2025-10-04",
"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-10-04T15:28:54.000Z",
"edited_at": null,
"emojis": [],
"favourited": false,
"favourites_count": 0,
"id": "Ayryicy12ZPmbu7doW",
"in_reply_to_account_id": null,
"in_reply_to_id": null,
"language": null,
"media_attachments": [],
"mentions": [
{
"acct": "full",
"id": "AyrySeh8G8UUWVnaEa",
"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/Nyyaryz7uUM",
"conversation_id": 1725128063,
"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/Nyyaryz7uUM",
"url": "http://pasture-one-actor/object/Nyyaryz7uUM",
"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": [
"http://pleroma/users/full",
"https://www.w3.org/ns/activitystreams#Public"
],
"id": "http://pasture-one-actor/activity/y-SvB3jOW7Y",
"published": "2025-10-04T15:28:55Z",
"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/PuSnheXDMVE",
"published": "2025-10-04T15:28:55Z",
"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": [
"http://pleroma/users/full",
"https://www.w3.org/ns/activitystreams#Public"
],
"id": "http://pasture-one-actor/activity/33N6rxZD1FE",
"published": "2025-10-04T15:29:06Z",
"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/Jbg6bWQkSTQ",
"published": "2025-10-04T15:29:06Z",
"@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-10-04T15:27:23.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": "AyryaDil1MdlzhybCK",
"last_status_at": "2025-10-04",
"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-10-04T15:29:06.000Z",
"edited_at": null,
"emojis": [],
"favourited": false,
"favourites_count": 0,
"id": "AyryjhQJxNGwinsB60",
"in_reply_to_account_id": null,
"in_reply_to_id": null,
"language": null,
"media_attachments": [],
"mentions": [
{
"acct": "full",
"id": "AyrySeh8G8UUWVnaEa",
"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/Jbg6bWQkSTQ",
"conversation_id": 1858942469,
"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/Jbg6bWQkSTQ",
"url": "http://pasture-one-actor/object/Jbg6bWQkSTQ",
"visibility": "public"
}
Example 5¶
activity
{
"@context": "https://www.w3.org/ns/activitystreams",
"type": "Create",
"actor": "http://pasture-one-actor/actor",
"to": [
"http://pleroma/users/full",
"https://www.w3.org/ns/activitystreams#Public"
],
"id": "http://pasture-one-actor/activity/PfvesR8FiQE",
"published": "2025-10-04T15:29:07Z",
"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/yoHrwoClYtQ",
"published": "2025-10-04T15:29:07Z",
"@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-10-04T15:27:23.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": "AyryaDil1MdlzhybCK",
"last_status_at": "2025-10-04",
"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-10-04T15:29:07.000Z",
"edited_at": null,
"emojis": [],
"favourited": false,
"favourites_count": 0,
"id": "AyryjkffskKunI4ywa",
"in_reply_to_account_id": null,
"in_reply_to_id": null,
"language": null,
"media_attachments": [],
"mentions": [
{
"acct": "full",
"id": "AyrySeh8G8UUWVnaEa",
"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/yoHrwoClYtQ",
"conversation_id": 403667531,
"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/yoHrwoClYtQ",
"url": "http://pasture-one-actor/object/yoHrwoClYtQ",
"visibility": "public"
}