Hashtag Extractor

Reusing a successful caption often means lifting just the hashtags from it. Paste a block of text, Instagram caption, tweet, LinkedIn post, and this extractor returns every #tag it finds, deduplicated and listed one per line, so you can drop them straight into your next post.

How to extract hashtags

  1. 1

    Paste the source text

    Drop in the full caption, tweet or post: any length, any language.

  2. 2

    Run the extraction

    The tool scans for `#` followed by letters, digits and underscores, ignoring emoji and punctuation.

  3. 3

    Review the clean list

    Exact duplicates are removed and each hashtag is kept in its original order of first appearance.

  4. 4

    Copy the tags

    Copy the list with one click and paste the tags into Instagram, X or your scheduling tool.

What counts as a hashtag

Every major social platform has slightly different rules for what a hashtag can contain. The extractor follows the most permissive Unicode-aware pattern so it captures tags correctly across services.

Platform rules summary

Platform Allowed characters Case treatment Max length practical
Instagram Letters (any script), digits, underscore Case-insensitive ~30 characters
X (Twitter) Letters, digits, underscore Case-insensitive Tweet length limit
TikTok Letters, digits, underscore Case-insensitive ~100 characters
LinkedIn Letters, digits, no spaces Case-insensitive No hard limit
YouTube Letters, digits, underscore; - not allowed Case-insensitive 30 characters, first 3 shown above video

A tag ends at the first non-word character: #running🏃 is parsed as #running because the emoji breaks the tag. Punctuation like #summer. stops at the period.

What gets deduplicated

  • Only exact duplicates are collapsed: #summer #summer appears once, while #Travel and #travel stay two separate tags.
  • Punctuation is never part of a tag: #summer! and #summer? are extracted as #summer.
  • Tags keep the casing from the text and appear in order of first occurrence.

Common extraction mistakes

  • Hashtags inside URLs. example.com/page#section is matched as #section, because the extractor treats any # followed by a word as a tag. Remove URL fragments from the text first if you do not want them extracted.
  • Email handles. @user is a mention, not a hashtag. This tool only returns # tags.
  • Stock tickers. On some platforms $AAPL is a “cashtag”. This tool does not extract those, it looks only for #.

Frequently Asked Questions

Yes, each tag is output exactly as it appears in the text, and only exact duplicates are collapsed. Since Instagram and X are case-insensitive, the case does not affect which posts the tag matches, but keeping it makes the list easier to read.

Yes, the extractor uses a Unicode letter class, so Arabic, Chinese, Cyrillic, Japanese and Korean hashtags are captured the same way as Latin ones.

They are correctly split. Each # starts a new tag, so #summer#vacation yields two separate tags.

No. It returns every unique tag found in the text, in order of first appearance. If you only need a few, just copy the ones you want from the list.

Related Tools

Tool available in other languages