Boneyard Tools

Hashtag and mention syntax explained

What actually makes a valid #hashtag or @mention, why emails are skipped, and how Unicode and case folding shape the tags this tool pulls out.

Where a tag starts and stops

A hashtag or mention begins with a marker character, '#' for tags and '@' for handles, but only when that marker is at a word boundary. In practice that means the character just before it cannot be a letter, digit or underscore, which is why 'a#b' produces nothing while 'a #b' produces '#b'. The tag then runs across letters, digits and underscores and stops the instant it hits anything else, so a space, comma, exclamation mark or hyphen closes it out. This mirrors how the major social networks decide where a clickable tag ends.

Why email addresses are left alone

The most common false positive for a mention extractor is an email address, because it contains an at sign. This tool avoids that trap with the same boundary rule: in 'ada@host.com' the at sign follows the letter 'a', a word character, so it is not the start of a mention. That single guard means you can paste newsletter footers, contact blocks and sign-offs without harvesting fake handles, while a standalone '@ada' at the start of a reply is still captured correctly.

Unicode support and case folding

Modern posts are multilingual, so the matcher uses Unicode letter and number classes rather than plain ASCII. Accented tags like '#café', non-Latin tags like '#日本語', and handles like '@José' are all recognized in full. Deduplication then folds case, comparing tags in lowercase so '#OpenSource' and '#opensource' count once. The version that survives is the first one you wrote, which keeps your preferred capitalization for display while still removing the redundant repeat.

Turning extracted tags into a workflow

Pulling tags out of existing copy is faster than retyping them, and it reduces mistakes. Draft a caption, extract the hashtags into a reusable block, and paste that block into a scheduler or a running spreadsheet of tag sets. Because hashtags and mentions land in separate lists, you can save a tested hashtag group in one place and manage the people or brands you tag separately. Just remember the tool reports what is literally in the text, so it will not invent trending tags or check whether a handle exists.

Frequently asked questions

Does the tool verify that a hashtag or handle is real?

No. It extracts strings that match the tag pattern from your text. It does not check whether a hashtag is popular or whether an @handle belongs to a live account.

Why did '#well-being' come out as '#well'?

A hyphen is not a tag character, so it ends the tag. The same happens with dots and slashes, matching how platforms treat those symbols inside tags.