Skip to content

Hashtags

The following mostly illustrates how the name of a hashtag gets transformed by the applications. The input has the form

"tag": {"type": "Hashtag", "name": "${tag}"}

The last two examples illustrate more technical behavior. For particularities in parsing see Hashtags and JSON-LD.

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://pyfedi.local/c/pie",
    "https://www.w3.org/ns/activitystreams#Public"
  ],
  "id": "http://pasture-one-actor/activity/LKf21QYU0IY",
  "published": "2025-09-14T08:59:53Z",
  "object": {
    "type": "Note",
    "attributedTo": "http://pasture-one-actor/actor",
    "to": [
      "https://www.w3.org/ns/activitystreams#Public",
      "http://pyfedi.local/c/pie"
    ],
    "id": "http://pasture-one-actor/object/sV-LKedIV2M",
    "published": "2025-09-14T08:59:53Z",
    "content": "text",
    "tag": [
      {
        "type": "Hashtag",
        "name": "#test"
      },
      {
        "type": "Mention",
        "href": "http://pyfedi.local/c/pie"
      }
    ]
  }
}
pyfedi
{
  "id": 234,
  "user_id": 2,
  "community_id": 1,
  "title": "(content in post body)",
  "deleted": false,
  "nsfw": false,
  "sticky": false,
  "published": "2025-09-14T08:59:54.077021Z",
  "ap_id": "http://pasture-one-actor/object/sV-LKedIV2M",
  "local": false,
  "language_id": 2,
  "removed": false,
  "locked": false,
  "body": "text"
}

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://pyfedi.local/c/pie",
    "https://www.w3.org/ns/activitystreams#Public"
  ],
  "id": "http://pasture-one-actor/activity/SV1qE7jxa7s",
  "published": "2025-09-14T08:59:54Z",
  "object": {
    "type": "Note",
    "attributedTo": "http://pasture-one-actor/actor",
    "to": [
      "https://www.w3.org/ns/activitystreams#Public",
      "http://pyfedi.local/c/pie"
    ],
    "id": "http://pasture-one-actor/object/qqbYj8CQT9M",
    "published": "2025-09-14T08:59:54Z",
    "content": "text",
    "tag": [
      {
        "type": "Hashtag",
        "name": "nohash"
      },
      {
        "type": "Mention",
        "href": "http://pyfedi.local/c/pie"
      }
    ]
  }
}
pyfedi
{
  "id": 235,
  "user_id": 2,
  "community_id": 1,
  "title": "(content in post body)",
  "deleted": false,
  "nsfw": false,
  "sticky": false,
  "published": "2025-09-14T08:59:54.894551Z",
  "ap_id": "http://pasture-one-actor/object/qqbYj8CQT9M",
  "local": false,
  "language_id": 2,
  "removed": false,
  "locked": false,
  "body": "text"
}

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://pyfedi.local/c/pie",
    "https://www.w3.org/ns/activitystreams#Public"
  ],
  "id": "http://pasture-one-actor/activity/7miuu_3WDfo",
  "published": "2025-09-14T08:59:55Z",
  "object": {
    "type": "Note",
    "attributedTo": "http://pasture-one-actor/actor",
    "to": [
      "https://www.w3.org/ns/activitystreams#Public",
      "http://pyfedi.local/c/pie"
    ],
    "id": "http://pasture-one-actor/object/RhDpgdJlUNk",
    "published": "2025-09-14T08:59:55Z",
    "content": "text",
    "tag": [
      {
        "type": "Hashtag",
        "name": "#with-dash_under"
      },
      {
        "type": "Mention",
        "href": "http://pyfedi.local/c/pie"
      }
    ]
  }
}
pyfedi
{
  "id": 236,
  "user_id": 2,
  "community_id": 1,
  "title": "(content in post body)",
  "deleted": false,
  "nsfw": false,
  "sticky": false,
  "published": "2025-09-14T08:59:55.737350Z",
  "ap_id": "http://pasture-one-actor/object/RhDpgdJlUNk",
  "local": false,
  "language_id": 2,
  "removed": false,
  "locked": false,
  "body": "text"
}

Example 4

activity
{
  "@context": [
    "https://www.w3.org/ns/activitystreams",
    {
      "Hashtag": "as:Hashtag",
      "sensitive": "as:sensitive"
    }
  ],
  "type": "Create",
  "actor": "http://pasture-one-actor/actor",
  "to": [
    "http://pyfedi.local/c/pie",
    "https://www.w3.org/ns/activitystreams#Public"
  ],
  "id": "http://pasture-one-actor/activity/8da69NM9X4A",
  "published": "2025-09-14T08:59:56Z",
  "object": {
    "type": "Note",
    "attributedTo": "http://pasture-one-actor/actor",
    "to": [
      "https://www.w3.org/ns/activitystreams#Public",
      "http://pyfedi.local/c/pie"
    ],
    "id": "http://pasture-one-actor/object/SBmKhjhkqNQ",
    "published": "2025-09-14T08:59:56Z",
    "content": "text",
    "tag": [
      {
        "type": "Hashtag",
        "name": "#with white space"
      },
      {
        "type": "Mention",
        "href": "http://pyfedi.local/c/pie"
      }
    ]
  }
}
pyfedi
{
  "id": 237,
  "user_id": 2,
  "community_id": 1,
  "title": "(content in post body)",
  "deleted": false,
  "nsfw": false,
  "sticky": false,
  "published": "2025-09-14T08:59:56.463452Z",
  "ap_id": "http://pasture-one-actor/object/SBmKhjhkqNQ",
  "local": false,
  "language_id": 2,
  "removed": false,
  "locked": false,
  "body": "text"
}

Example 5

activity
{
  "@context": [
    "https://www.w3.org/ns/activitystreams",
    {
      "Hashtag": "as:Hashtag",
      "sensitive": "as:sensitive"
    }
  ],
  "type": "Create",
  "actor": "http://pasture-one-actor/actor",
  "to": [
    "http://pyfedi.local/c/pie",
    "https://www.w3.org/ns/activitystreams#Public"
  ],
  "id": "http://pasture-one-actor/activity/TisgZXUYHOQ",
  "published": "2025-09-14T08:59:57Z",
  "object": {
    "type": "Note",
    "attributedTo": "http://pasture-one-actor/actor",
    "to": [
      "https://www.w3.org/ns/activitystreams#Public",
      "http://pyfedi.local/c/pie"
    ],
    "id": "http://pasture-one-actor/object/x26kUXa1-1c",
    "published": "2025-09-14T08:59:57Z",
    "content": "text",
    "tag": [
      {
        "type": "Hashtag",
        "name": "#with(subtag)"
      },
      {
        "type": "Mention",
        "href": "http://pyfedi.local/c/pie"
      }
    ]
  }
}
pyfedi
{
  "id": 238,
  "user_id": 2,
  "community_id": 1,
  "title": "(content in post body)",
  "deleted": false,
  "nsfw": false,
  "sticky": false,
  "published": "2025-09-14T08:59:57.210077Z",
  "ap_id": "http://pasture-one-actor/object/x26kUXa1-1c",
  "local": false,
  "language_id": 2,
  "removed": false,
  "locked": false,
  "body": "text"
}

Example 6

activity
{
  "@context": [
    "https://www.w3.org/ns/activitystreams",
    {
      "Hashtag": "as:Hashtag",
      "sensitive": "as:sensitive"
    }
  ],
  "type": "Create",
  "actor": "http://pasture-one-actor/actor",
  "to": [
    "http://pyfedi.local/c/pie",
    "https://www.w3.org/ns/activitystreams#Public"
  ],
  "id": "http://pasture-one-actor/activity/yftFYvxqloY",
  "published": "2025-09-14T08:59:57Z",
  "object": {
    "type": "Note",
    "attributedTo": "http://pasture-one-actor/actor",
    "to": [
      "https://www.w3.org/ns/activitystreams#Public",
      "http://pyfedi.local/c/pie"
    ],
    "id": "http://pasture-one-actor/object/8ToBOZlxnM8",
    "published": "2025-09-14T08:59:57Z",
    "content": "text",
    "tag": [
      {
        "type": "Hashtag",
        "name": "#with123"
      },
      {
        "type": "Mention",
        "href": "http://pyfedi.local/c/pie"
      }
    ]
  }
}
pyfedi
{
  "id": 239,
  "user_id": 2,
  "community_id": 1,
  "title": "(content in post body)",
  "deleted": false,
  "nsfw": false,
  "sticky": false,
  "published": "2025-09-14T08:59:57.944258Z",
  "ap_id": "http://pasture-one-actor/object/8ToBOZlxnM8",
  "local": false,
  "language_id": 2,
  "removed": false,
  "locked": false,
  "body": "text"
}

Example 7

activity
{
  "@context": [
    "https://www.w3.org/ns/activitystreams",
    {
      "Hashtag": "as:Hashtag",
      "sensitive": "as:sensitive"
    }
  ],
  "type": "Create",
  "actor": "http://pasture-one-actor/actor",
  "to": [
    "http://pyfedi.local/c/pie",
    "https://www.w3.org/ns/activitystreams#Public"
  ],
  "id": "http://pasture-one-actor/activity/Lb6gqD5bnIg",
  "published": "2025-09-14T08:59:58Z",
  "object": {
    "type": "Note",
    "attributedTo": "http://pasture-one-actor/actor",
    "to": [
      "https://www.w3.org/ns/activitystreams#Public",
      "http://pyfedi.local/c/pie"
    ],
    "id": "http://pasture-one-actor/object/aLjSMVfcndU",
    "published": "2025-09-14T08:59:58Z",
    "content": "text",
    "tag": [
      {
        "type": "Hashtag",
        "name": "#1234"
      },
      {
        "type": "Mention",
        "href": "http://pyfedi.local/c/pie"
      }
    ]
  }
}
pyfedi
{
  "id": 240,
  "user_id": 2,
  "community_id": 1,
  "title": "(content in post body)",
  "deleted": false,
  "nsfw": false,
  "sticky": false,
  "published": "2025-09-14T08:59:58.682943Z",
  "ap_id": "http://pasture-one-actor/object/aLjSMVfcndU",
  "local": false,
  "language_id": 2,
  "removed": false,
  "locked": false,
  "body": "text"
}

Example 8

activity
{
  "@context": [
    "https://www.w3.org/ns/activitystreams",
    {
      "Hashtag": "as:Hashtag",
      "sensitive": "as:sensitive"
    }
  ],
  "type": "Create",
  "actor": "http://pasture-one-actor/actor",
  "to": [
    "http://pyfedi.local/c/pie",
    "https://www.w3.org/ns/activitystreams#Public"
  ],
  "id": "http://pasture-one-actor/activity/QdXwo1LJa40",
  "published": "2025-09-14T08:59:59Z",
  "object": {
    "type": "Note",
    "attributedTo": "http://pasture-one-actor/actor",
    "to": [
      "https://www.w3.org/ns/activitystreams#Public",
      "http://pyfedi.local/c/pie"
    ],
    "id": "http://pasture-one-actor/object/U8XVOCX14Os",
    "published": "2025-09-14T08:59:59Z",
    "content": "text",
    "tag": [
      {
        "type": "Hashtag",
        "name": "#CamelCase"
      },
      {
        "type": "Mention",
        "href": "http://pyfedi.local/c/pie"
      }
    ]
  }
}
pyfedi
{
  "id": 241,
  "user_id": 2,
  "community_id": 1,
  "title": "(content in post body)",
  "deleted": false,
  "nsfw": false,
  "sticky": false,
  "published": "2025-09-14T08:59:59.457393Z",
  "ap_id": "http://pasture-one-actor/object/U8XVOCX14Os",
  "local": false,
  "language_id": 2,
  "removed": false,
  "locked": false,
  "body": "text"
}

Example 9

activity
{
  "@context": [
    "https://www.w3.org/ns/activitystreams",
    {
      "Hashtag": "as:Hashtag",
      "sensitive": "as:sensitive"
    }
  ],
  "type": "Create",
  "actor": "http://pasture-one-actor/actor",
  "to": [
    "http://pyfedi.local/c/pie",
    "https://www.w3.org/ns/activitystreams#Public"
  ],
  "id": "http://pasture-one-actor/activity/DVx5SSglOS0",
  "published": "2025-09-14T09:00:00Z",
  "object": {
    "type": "Note",
    "attributedTo": "http://pasture-one-actor/actor",
    "to": [
      "https://www.w3.org/ns/activitystreams#Public",
      "http://pyfedi.local/c/pie"
    ],
    "id": "http://pasture-one-actor/object/X2HeTv-X31s",
    "published": "2025-09-14T09:00:00Z",
    "content": "text",
    "tag": [
      {
        "type": "Hashtag",
        "name": "#\u00fcml\u00e4\u00fct\u00df"
      },
      {
        "type": "Mention",
        "href": "http://pyfedi.local/c/pie"
      }
    ]
  }
}
pyfedi
{
  "id": 242,
  "user_id": 2,
  "community_id": 1,
  "title": "(content in post body)",
  "deleted": false,
  "nsfw": false,
  "sticky": false,
  "published": "2025-09-14T09:00:00.238952Z",
  "ap_id": "http://pasture-one-actor/object/X2HeTv-X31s",
  "local": false,
  "language_id": 2,
  "removed": false,
  "locked": false,
  "body": "text"
}

Example 10

activity
{
  "@context": [
    "https://www.w3.org/ns/activitystreams",
    {
      "Hashtag": "as:Hashtag",
      "sensitive": "as:sensitive"
    }
  ],
  "type": "Create",
  "actor": "http://pasture-one-actor/actor",
  "to": [
    "http://pyfedi.local/c/pie",
    "https://www.w3.org/ns/activitystreams#Public"
  ],
  "id": "http://pasture-one-actor/activity/I5TdXtNwdDI",
  "published": "2025-09-14T09:00:00Z",
  "object": {
    "type": "Note",
    "attributedTo": "http://pasture-one-actor/actor",
    "to": [
      "https://www.w3.org/ns/activitystreams#Public",
      "http://pyfedi.local/c/pie"
    ],
    "id": "http://pasture-one-actor/object/i0fCPwY8wlw",
    "published": "2025-09-14T09:00:00Z",
    "content": "text",
    "tag": [
      {
        "type": "Hashtag",
        "name": "#\ud83d\udc04"
      },
      {
        "type": "Mention",
        "href": "http://pyfedi.local/c/pie"
      }
    ]
  }
}
pyfedi
{
  "id": 243,
  "user_id": 2,
  "community_id": 1,
  "title": "(content in post body)",
  "deleted": false,
  "nsfw": false,
  "sticky": false,
  "published": "2025-09-14T09:00:01.023527Z",
  "ap_id": "http://pasture-one-actor/object/i0fCPwY8wlw",
  "local": false,
  "language_id": 2,
  "removed": false,
  "locked": false,
  "body": "text"
}

Example 11

activity
{
  "@context": [
    "https://www.w3.org/ns/activitystreams",
    {
      "Hashtag": "as:Hashtag",
      "sensitive": "as:sensitive"
    }
  ],
  "type": "Create",
  "actor": "http://pasture-one-actor/actor",
  "to": [
    "http://pyfedi.local/c/pie",
    "https://www.w3.org/ns/activitystreams#Public"
  ],
  "id": "http://pasture-one-actor/activity/riX5zRb9LYs",
  "published": "2025-09-14T09:00:01Z",
  "object": {
    "type": "Note",
    "attributedTo": "http://pasture-one-actor/actor",
    "to": [
      "https://www.w3.org/ns/activitystreams#Public",
      "http://pyfedi.local/c/pie"
    ],
    "id": "http://pasture-one-actor/object/1K_-9k39ic8",
    "published": "2025-09-14T09:00:01Z",
    "content": "text",
    "tag": [
      {
        "type": "Hashtag",
        "name": "#\u2764\ufe0f"
      },
      {
        "type": "Mention",
        "href": "http://pyfedi.local/c/pie"
      }
    ]
  }
}
pyfedi
{
  "id": 244,
  "user_id": 2,
  "community_id": 1,
  "title": "(content in post body)",
  "deleted": false,
  "nsfw": false,
  "sticky": false,
  "published": "2025-09-14T09:00:01.829284Z",
  "ap_id": "http://pasture-one-actor/object/1K_-9k39ic8",
  "local": false,
  "language_id": 2,
  "removed": false,
  "locked": false,
  "body": "text"
}

Example 12

activity
{
  "@context": [
    "https://www.w3.org/ns/activitystreams",
    {
      "Hashtag": "as:Hashtag",
      "sensitive": "as:sensitive"
    }
  ],
  "type": "Create",
  "actor": "http://pasture-one-actor/actor",
  "to": [
    "http://pyfedi.local/c/pie",
    "https://www.w3.org/ns/activitystreams#Public"
  ],
  "id": "http://pasture-one-actor/activity/9YiU0Z2pXhE",
  "published": "2025-09-14T09:00:02Z",
  "object": {
    "type": "Note",
    "attributedTo": "http://pasture-one-actor/actor",
    "to": [
      "https://www.w3.org/ns/activitystreams#Public",
      "http://pyfedi.local/c/pie"
    ],
    "id": "http://pasture-one-actor/object/ojGTLdjEnmI",
    "published": "2025-09-14T09:00:02Z",
    "content": "text",
    "tag": [
      {
        "type": "Hashtag",
        "name": "#\u725b"
      },
      {
        "type": "Mention",
        "href": "http://pyfedi.local/c/pie"
      }
    ]
  }
}
pyfedi
{
  "id": 245,
  "user_id": 2,
  "community_id": 1,
  "title": "(content in post body)",
  "deleted": false,
  "nsfw": false,
  "sticky": false,
  "published": "2025-09-14T09:00:02.644869Z",
  "ap_id": "http://pasture-one-actor/object/ojGTLdjEnmI",
  "local": false,
  "language_id": 2,
  "removed": false,
  "locked": false,
  "body": "text"
}

Example 13

activity
{
  "@context": [
    "https://www.w3.org/ns/activitystreams",
    {
      "Hashtag": "as:Hashtag",
      "sensitive": "as:sensitive"
    }
  ],
  "type": "Create",
  "actor": "http://pasture-one-actor/actor",
  "to": [
    "http://pyfedi.local/c/pie",
    "https://www.w3.org/ns/activitystreams#Public"
  ],
  "id": "http://pasture-one-actor/activity/WVWtOWBpvI8",
  "published": "2025-09-14T09:00:03Z",
  "object": {
    "type": "Note",
    "attributedTo": "http://pasture-one-actor/actor",
    "to": [
      "https://www.w3.org/ns/activitystreams#Public",
      "http://pyfedi.local/c/pie"
    ],
    "id": "http://pasture-one-actor/object/CqZDBUjz2iU",
    "published": "2025-09-14T09:00:03Z",
    "content": "broken url parameter",
    "tag": [
      {
        "type": "Hashtag",
        "name": "#test",
        "url": "https://ignore.example"
      },
      {
        "type": "Mention",
        "href": "http://pyfedi.local/c/pie"
      }
    ]
  }
}
pyfedi
{
  "id": 246,
  "user_id": 2,
  "community_id": 1,
  "title": "broken url parameter",
  "deleted": false,
  "nsfw": false,
  "sticky": false,
  "published": "2025-09-14T09:00:03.397002Z",
  "ap_id": "http://pasture-one-actor/object/CqZDBUjz2iU",
  "local": false,
  "language_id": 2,
  "removed": false,
  "locked": false,
  "body": "broken url parameter"
}