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/uHCTOdQ8Beo",
"published": "2025-08-30T19:54: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/XTcd6bCzGek",
"published": "2025-08-30T19:54:46Z",
"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-08-30T19:53:14.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": "AxhoKC14LaPzsTV7jc",
"last_status_at": "2025-08-30",
"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-08-30T19:54:46.000Z",
"edited_at": null,
"emojis": [],
"favourited": false,
"favourites_count": 0,
"id": "AxhoSjPU4dGplNzajY",
"in_reply_to_account_id": null,
"in_reply_to_id": null,
"language": null,
"media_attachments": [],
"mentions": [
{
"acct": "full",
"id": "AxhoBL1N4mdJR53DNY",
"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/XTcd6bCzGek",
"conversation_id": 1568892617,
"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/XTcd6bCzGek",
"url": "http://pasture-one-actor/object/XTcd6bCzGek",
"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/AU5khjbAUrQ",
"published": "2025-08-30T19:54:47Z",
"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/C0-5PaOODmI",
"published": "2025-08-30T19:54:47Z",
"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-08-30T19:53:14.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": "AxhoKC14LaPzsTV7jc",
"last_status_at": "2025-08-30",
"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-08-30T19:54:47.000Z",
"edited_at": null,
"emojis": [],
"favourited": false,
"favourites_count": 0,
"id": "AxhoSnLjQWe5yuGeRM",
"in_reply_to_account_id": null,
"in_reply_to_id": null,
"language": null,
"media_attachments": [],
"mentions": [
{
"acct": "full",
"id": "AxhoBL1N4mdJR53DNY",
"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/C0-5PaOODmI",
"conversation_id": 1955344855,
"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/C0-5PaOODmI",
"url": "http://pasture-one-actor/object/C0-5PaOODmI",
"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/vXnFEyAQK2M",
"published": "2025-08-30T19:54:47Z",
"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/_UIns3eqhXE",
"published": "2025-08-30T19:54:47Z",
"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/3zQnJbRa3MY",
"published": "2025-08-30T19:54:59Z",
"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/l4CxqVgV_o8",
"published": "2025-08-30T19:54:59Z",
"@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-08-30T19:53:14.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": "AxhoKC14LaPzsTV7jc",
"last_status_at": "2025-08-30",
"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-08-30T19:54:59.000Z",
"edited_at": null,
"emojis": [],
"favourited": false,
"favourites_count": 0,
"id": "AxhoTtpsnRAUO6tgsS",
"in_reply_to_account_id": null,
"in_reply_to_id": null,
"language": null,
"media_attachments": [],
"mentions": [
{
"acct": "full",
"id": "AxhoBL1N4mdJR53DNY",
"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/l4CxqVgV_o8",
"conversation_id": 1734898146,
"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/l4CxqVgV_o8",
"url": "http://pasture-one-actor/object/l4CxqVgV_o8",
"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/DhiRr1aIf9w",
"published": "2025-08-30T19:54:59Z",
"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/4nd0Nn36d5Y",
"published": "2025-08-30T19:54:59Z",
"@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-08-30T19:53:14.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": "AxhoKC14LaPzsTV7jc",
"last_status_at": "2025-08-30",
"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-08-30T19:54:59.000Z",
"edited_at": null,
"emojis": [],
"favourited": false,
"favourites_count": 0,
"id": "AxhoTy1jDL1JO0TCtc",
"in_reply_to_account_id": null,
"in_reply_to_id": null,
"language": null,
"media_attachments": [],
"mentions": [
{
"acct": "full",
"id": "AxhoBL1N4mdJR53DNY",
"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/4nd0Nn36d5Y",
"conversation_id": 94588194,
"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/4nd0Nn36d5Y",
"url": "http://pasture-one-actor/object/4nd0Nn36d5Y",
"visibility": "public"
}