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/NRq9IwRvmjw",
  "published": "2025-09-08T17:35:33Z",
  "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/oK0XetzL5zQ",
    "published": "2025-09-08T17:35:33Z",
    "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-08T17:35:34.084322Z",
  "ap_id": "http://pasture-one-actor/object/oK0XetzL5zQ",
  "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/ONPat_2akyc",
  "published": "2025-09-08T17:35:34Z",
  "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/7lHs2JYtosc",
    "published": "2025-09-08T17:35:34Z",
    "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-08T17:35:34.919790Z",
  "ap_id": "http://pasture-one-actor/object/7lHs2JYtosc",
  "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/qMK35UilxXA",
  "published": "2025-09-08T17:35:35Z",
  "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/gZp-HUEBuuE",
    "published": "2025-09-08T17:35:35Z",
    "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-08T17:35:35.746744Z",
  "ap_id": "http://pasture-one-actor/object/gZp-HUEBuuE",
  "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/L1BSi-m5Jo4",
  "published": "2025-09-08T17:35:36Z",
  "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/uArwtZhCTBE",
    "published": "2025-09-08T17:35:36Z",
    "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-08T17:35:36.558009Z",
  "ap_id": "http://pasture-one-actor/object/uArwtZhCTBE",
  "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/M4nmHW9hLpc",
  "published": "2025-09-08T17:35:37Z",
  "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/Xq4aEUdNmys",
    "published": "2025-09-08T17:35:37Z",
    "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-08T17:35:37.367947Z",
  "ap_id": "http://pasture-one-actor/object/Xq4aEUdNmys",
  "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/4MTaqtkUK3U",
  "published": "2025-09-08T17:35:37Z",
  "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/tYAlDk-sYcU",
    "published": "2025-09-08T17:35:37Z",
    "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-08T17:35:38.181276Z",
  "ap_id": "http://pasture-one-actor/object/tYAlDk-sYcU",
  "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/mGzxeLV-Kp0",
  "published": "2025-09-08T17:35:38Z",
  "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/qxW_zyHuJag",
    "published": "2025-09-08T17:35:38Z",
    "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-08T17:35:39.021761Z",
  "ap_id": "http://pasture-one-actor/object/qxW_zyHuJag",
  "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/YQwLIg40bPQ",
  "published": "2025-09-08T17:35:39Z",
  "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/6p8i3W69uJs",
    "published": "2025-09-08T17:35:39Z",
    "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-08T17:35:39.826538Z",
  "ap_id": "http://pasture-one-actor/object/6p8i3W69uJs",
  "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/vjYnJwzlQhs",
  "published": "2025-09-08T17:35:40Z",
  "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/D0BxLFI_rcY",
    "published": "2025-09-08T17:35:40Z",
    "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-08T17:35:40.600195Z",
  "ap_id": "http://pasture-one-actor/object/D0BxLFI_rcY",
  "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/b7EiMRxqVT4",
  "published": "2025-09-08T17:35:41Z",
  "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/JtyBxe49CJs",
    "published": "2025-09-08T17:35:41Z",
    "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-08T17:35:41.401142Z",
  "ap_id": "http://pasture-one-actor/object/JtyBxe49CJs",
  "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/9Wm-lDGvhzI",
  "published": "2025-09-08T17:35:42Z",
  "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/NrDw2fkg8gQ",
    "published": "2025-09-08T17:35:42Z",
    "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-08T17:35:42.207183Z",
  "ap_id": "http://pasture-one-actor/object/NrDw2fkg8gQ",
  "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/1xFPjUGDzic",
  "published": "2025-09-08T17:35:42Z",
  "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/6ggRrX5Ybco",
    "published": "2025-09-08T17:35:42Z",
    "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-08T17:35:42.974145Z",
  "ap_id": "http://pasture-one-actor/object/6ggRrX5Ybco",
  "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/OVtahlNZivc",
  "published": "2025-09-08T17:35:43Z",
  "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/eD7auouOXDo",
    "published": "2025-09-08T17:35:43Z",
    "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-08T17:35:43.803223Z",
  "ap_id": "http://pasture-one-actor/object/eD7auouOXDo",
  "local": false,
  "language_id": 2,
  "removed": false,
  "locked": false,
  "body": "broken url parameter"
}