Skip to content
ZeroServer.tools

Hashtag Extractor

Pull every #hashtag out of pasted text, deduplicated and counted, ready to copy or export.

Paste text
Extracted hashtags
No hashtags found yet. Paste text containing #tags above.
Unique hashtags: 0Total occurrences: 0

How the hashtag extractor works

Paste any block of text — a tweet, an Instagram caption, a batch of notes, or a full blog draft — and this tool scans it locally in your browser for every #hashtag. It uses a Unicode-aware pattern so accented and non-Latin hashtags (like #café or #日本語) are matched correctly, not just plain ASCII tags. Matches are deduplicated case-insensitively — #WebDev and #webdev are treated as the same tag — while the first casing seen is kept for display, and every repeat occurrence still increments that tag's count.

Results are sorted by frequency by default so your most-used tags surface first, useful for auditing which hashtags you actually rely on before a social post goes out, or for building a hashtag bank from past captions. Switch to alphabetical order, copy the deduplicated list as a space-separated string ready to paste back into a caption, or export the full breakdown (hashtag, count) as a CSV for spreadsheet analysis. Since everything runs client-side, the text you paste is never uploaded anywhere.

Built and maintained by Meet Shah · Last updated

What this tool is used for

  • Pulling every hashtag out of a pasted post or thread.
  • Counting which tags appear most often across a set of captions.
  • Auditing a campaign's tag usage for consistency.
  • Deduplicating a tag list before reusing it.
  • Exporting tags to a spreadsheet for analysis.

Frequently Asked Questions

What counts as a hashtag?
A `#` followed by letters, digits or underscores, with no spaces — the space is what ends it, which is why multi-word tags are written CamelCase or run together. A tag of digits only is rejected by X and several other platforms.
Why should multi-word tags be CamelCase?
For screen readers. `#NowPlaying` is announced as two words while `#nowplaying` is read as one unintelligible string, and it is a genuine accessibility difference rather than a style preference. Platforms treat the two as the same tag, so the capitals cost nothing.
Are hashtags case-sensitive?
For matching, no — `#WebDev` and `#webdev` are the same tag everywhere that matters. The casing is preserved in display and is purely for readability, which is why the extractor counts them together while showing the form you actually wrote.
How many should a post carry?
It depends on the platform more than on the content. One or two perform best on X and LinkedIn, where more reads as spam; Instagram tolerates far more and its own guidance suggests three to five. Copying an Instagram tag block onto LinkedIn is the common mistake.
Do duplicate tags in one post help?
No — platforms count a tag once per post regardless of repetition, so a repeated tag is wasted characters. The count shown here is useful mainly for spotting that repetition, which happens easily when a post is assembled from several drafts.

Common errors and gotchas

  • Treating a hash-prefixed word as a tag when it was a heading or a code comment.
  • Missing tags that a platform normalises differently, such as case or accents.
  • Assuming a tag's popularity from your own sample, which is far too small.
  • Extracting tags that are no longer in use or have been repurposed.
  • Losing the association between a tag and the post it came from.

Related Text Tools tools

Private & free — this tool runs entirely in your browser.