Skip to main content
HG

Hashtag Generator

Turn any topic, phrase, or keyword list into ready-to-paste hashtags in multiple casing styles.

Did you like the tool? Thanks!
Share:

Separate multiple keywords with commas or spaces. A comma-separated phrase like "digital marketing" is treated as one keyword.

How to Use Hashtag Generator

Type a phrase, topic, or a comma/space-separated list of keywords, and instantly get a set of hashtag variants — PascalCase, lowercase, and (when you enter more than one keyword) merged compound tags pairing adjacent keywords. Pick your preferred primary style, cap how many hashtags you want, and copy them individually with one click or all at once as a single space-separated line ready to paste into a caption.

About Hashtag Generator

A hashtag only works as a single unbroken token — no spaces are allowed inside one — so turning a real phrase like "digital marketing" into a usable hashtag means merging the words together somehow. The two conventions that dominate in practice are PascalCase (capitalizing each word: #DigitalMarketing) and all-lowercase (#digitalmarketing). PascalCase has a real accessibility benefit beyond just looking tidy: screen readers and many platforms' hashtag parsers use the capital letters as word-boundary hints, so #DigitalMarketing is read aloud as "digital marketing" while #digitalmarketing is more likely to be read as one unbroken string of letters. That is why platforms like Instagram explicitly recommend capitalizing multi-word hashtags for accessibility, and why this tool defaults its primary style to PascalCase. This tool accepts input two ways: if your text contains commas, each comma-separated chunk is treated as one keyword (so "digital marketing, seo, content" is understood as three keywords, the first of which is itself a two-word phrase to merge). If there are no commas, the text is split on whitespace instead, treating each individual word as its own separate keyword. This distinction matters because it is the only way to tell the tool whether "digital marketing" should become one merged hashtag (#DigitalMarketing) or two separate ones (#Digital and #Marketing) — use a comma when you want a phrase kept together. For every keyword you enter, the tool generates a primary hashtag in your chosen style, plus both a PascalCase and an all-lowercase variant regardless of your style choice, so you always have both conventions available even if your primary style is set to something else. When you provide more than one keyword, it additionally generates a handful of compound hashtags by pairing each keyword with the next one in your list (for example, from "seo, content, strategy" it would also produce #SeoContent and #ContentStrategy) — these compound tags are a common real pattern for connecting related topics, like #FitnessMotivation or #TravelPhotography, and can surface a useful tag you didn't think to type explicitly. All punctuation and special characters are stripped from each word before hashtag construction, since a hashtag can only contain letters, numbers and underscores — no hyphens, apostrophes, ampersands or emoji survive into the output. The dedupe option (on by default) removes exact duplicate hashtags that can arise when, for example, your chosen primary style matches one of the always-generated PascalCase/lowercase variants for a single-word keyword. A max-count field caps the total list, since a long keyword list can otherwise produce dozens of hashtags — most social platforms also cap how many hashtags they will actually display or index per post, so trimming to a reasonable number (Instagram, for instance, allows up to 30 but engagement research generally favors far fewer, well-chosen tags) is usually the right move anyway. Everything runs client-side and updates live as you type — there is no external hashtag-trend or popularity database behind this tool, it only reformats the keywords you provide into valid hashtag syntax; it does not tell you which hashtags are currently trending or how much reach they get.

Details & Tips

Parsing rule: if the input text contains a comma anywhere, it is split on commas and each resulting chunk (trimmed of surrounding whitespace) is treated as one keyword, even if that chunk itself contains internal spaces (a multi-word phrase to be merged into one hashtag). If there is no comma in the input, the text is instead split on whitespace, and each individual word becomes its own separate keyword. Sanitization: every word is stripped of any character that is not a letter or digit (regex `[^a-zA-Z0-9]`) before being used to build a hashtag, since valid hashtags cannot contain spaces, punctuation, or most special characters. Style options: PascalCase capitalizes the first letter of each word in a keyword and joins them with no separator (#DigitalMarketing). lowercase joins all words together in lowercase with no separator (#digitalmarketing). UPPERCASE does the same in all capitals (#DIGITALMARKETING). The selected style controls the primary hashtag generated per keyword; PascalCase and lowercase variants are always additionally generated for every keyword regardless of which style is selected. Compound hashtags: generated only when more than one keyword is present, by concatenating each keyword's words with the immediately following keyword's words in PascalCase (so keyword list ["seo", "content", "strategy"] additionally produces #SeoContent and #ContentStrategy, pairing index i with index i+1 for each adjacent pair). Dedupe: when enabled (default on), the final hashtag list has exact string duplicates removed while preserving the first occurrence's position, which commonly trims the list when a single-word keyword's chosen primary style coincides with one of its always-generated variants. Worked example — input "digital marketing, seo, content", style PascalCase, dedupe on: primary tags #DigitalMarketing, #Seo, #Content; lowercase variants #digitalmarketing, #seo, #content (PascalCase variants are already covered by the primary tags here and deduped away); compound tags #DigitalMarketingSeo, #SeoContent. Max hashtags and Copy All: the max-hashtags field truncates the final list to that many entries (default 20). Copy All joins every currently-shown hashtag with a single space into one line — the common format for pasting a hashtag block directly into an Instagram or TikTok caption.

Frequently Asked Questions

How does the tool decide whether to split my input by comma or by space?
If your input contains a comma anywhere, it splits on commas only, so a multi-word chunk between commas is kept together as one keyword. If there are no commas at all, it splits on whitespace instead, treating each word as its own keyword.
What counts as one "keyword" if I type a two-word phrase without a comma?
Without a comma, each word is its own separate keyword — "digital marketing" would be treated as two keywords, "digital" and "marketing", producing two separate primary hashtags rather than one merged #DigitalMarketing tag. Add a comma or type it as the only phrase if you want it merged.
What is the difference between the PascalCase and lowercase hashtag variants?
PascalCase capitalizes each word (#DigitalMarketing), which helps screen readers and some platforms' parsers correctly identify word boundaries. lowercase merges everything into one unbroken lowercase string (#digitalmarketing). Both variants are generated for every keyword regardless of your chosen primary style.
What are compound hashtags and when are they generated?
Compound hashtags pair each keyword with the next one in your list into a single combined PascalCase tag (for example #SeoContent from adjacent keywords "seo" and "content"). They are only generated when you enter more than one keyword.
Does it remove punctuation and special characters from my keywords?
Yes, any character that is not a letter or digit is stripped before a hashtag is built, since valid hashtags cannot contain spaces, hyphens, apostrophes, or most punctuation.
What does the "dedupe" option do?
When enabled, exact duplicate hashtags in the final list are removed, keeping the first occurrence. This commonly trims the list when your chosen primary style matches one of the PascalCase/lowercase variants that are always generated for a single-word keyword.
Is there a limit on how many hashtags I can generate?
Yes, the max-hashtags field caps the final list to that many entries (default 20). This is also a practical choice since most platforms cap how many hashtags are useful or even displayed per post.
Does this tool tell me which hashtags are trending or popular right now?
No, it only reformats the keywords you type into valid hashtag syntax in a few casing styles. It has no connection to any platform's trending-hashtag or engagement data.
How do I copy just one hashtag?
Click directly on that hashtag in the results list — each one is its own button that copies just that tag to your clipboard.
What does Copy All produce exactly?
It copies every hashtag currently shown, joined by a single space on one line, which is the standard format for pasting a hashtag block directly into an Instagram or TikTok caption.
Are numbers in my keywords preserved in the hashtags?
Yes, digits are kept (only non-alphanumeric characters are stripped), so a keyword like "top10" produces hashtags such as #Top10.
Is my input text sent to a server?
No, all parsing and hashtag generation happens locally in your browser using JavaScript. Nothing you type is uploaded, logged, or stored.

Also Available As

hashtag generator, instagram hashtag generator, hashtag creator, social media hashtags, pascal case hashtag, tiktok hashtags, caption hashtags

Found a Problem?

Let us know if something with Hashtag Generator isn't working as expected.

Thanks — we'll take a look.