Text Repeater

Text Repeater

Repeat anything up to 10,000 times — words, emoji, Arabic, Hindi. The result builds as you type, and tells you when it has outgrown the box you are pasting it into.

Repeat count
Between each copy
Will it fit?
How to Use
1. Type or paste
Put your text in the left box — any language, emoji included. The result builds on the right as you type, so there is no button to press before you see it.
2. Set the count and spacing
Nudge the number with the steppers or jump straight to a preset. Then choose whether each copy lands on its own line, runs inline, or comes out as a numbered list.
3. Check it fits, then copy
The panel on the right shows whether the result still fits X, Instagram, LinkedIn, TikTok or a WhatsApp message — before you paste it somewhere it gets cut in half.

What breaks when you repeat non-Latin text

Repeating a string looks like the simplest operation in software, and it is — right up until the string is not English. Every text repeater online handles Latin letters correctly and then quietly mangles everything else. Here is what actually goes wrong, and what this page does instead.

InputThe common failureHere
EmojiA family emoji like 👨‍👩‍👧 is several emoji joined by invisible zero-width joiners. Tools that count with JavaScript’s .length report it as 8 characters, so a 100× repeat is reported at 800 instead of 100.Counted as grapheme clusters — what a reader sees is what gets counted.
ArabicArabic letters change shape depending on their neighbours. Repeating أحبك inline with no separator can visually join the end of one copy to the start of the next, producing letterforms that were never typed.New line is the default separator precisely because it keeps each copy a separate word. Inline is still available when you want it.
Hindi and other Indic scriptsMatras are combining marks. Splitting or counting them as standalone characters inflates every total and can strand a vowel sign at a boundary.Grapheme counting keeps each syllable whole.
Any script beyond the basic planeMathematical, historic and emoji characters take two UTF-16 units each, so character counts come out roughly double.The counts on both panes are cluster counts, so they match what the destination field will measure.

The number that actually stops you: the field limit

Repeating text is easy. Knowing whether the result can be pasted anywhere useful is the part every other tool leaves you to discover by failure. Ten copies of a short phrase clears every limit; a thousand copies clears almost none. The panel beside the output answers that before you copy, not after.

DestinationCeilingRoughly how many copies of a 12-character phrase
X / Twitter post280 characters on the free tierabout 21
Instagram caption2,200 charactersabout 169
LinkedIn post3,000 charactersabout 230
TikTok caption4,000 charactersabout 307
WhatsApp message65,536 charactersabout 5,000

Those counts assume a new line between copies, which costs one character each. Switch the separator to none and you fit slightly more; switch to a numbered list and you fit noticeably fewer, since every line carries its own index.

Separators are not decoration — they change the result

The gap between copies is the setting people skip, and it decides whether the output is usable. Five options, and each exists for a different job:

New line keeps every copy on its own row. It is the safest default in any script, and the only one that reliably prevents Arabic and Indic letterforms from joining across the boundary. It costs one character per copy.

Space produces a running block of text that wraps naturally — what you want for a chat message rather than a list.

Comma gives you a delimited series you can paste into a spreadsheet cell or a form field that expects comma-separated values.

Nothing at all concatenates the copies with no gap. This is the one to use for test strings and padding, and the one to avoid for real words — with no separator, the last letter of one copy and the first of the next are treated as neighbours by the text shaper, which changes how connected scripts render.

Numbered list prefixes each copy with its index. Useful for building numbered templates, and the only option where the output grows faster than the input, because the numbers themselves take space — a thousand copies adds roughly four thousand characters of numbering alone.

A word about where this gets used

Most people arrive here for one of four reasons, and it is worth being honest about which ones work.

Emphasis in a message — repeating a word or an emoji for effect in a chat. This works, and it is the most common use by a wide margin.

Filler and test data — developers and designers padding a layout to see how it behaves with long content. The no-separator mode exists for this.

Templates — generating a numbered list, a repeated line for a form, or a block to edit down afterwards. The numbered mode covers it.

Flooding a chat — this is the one that does not work. Messaging platforms rate-limit repeated identical content, and pasting thousands of copies into a group typically gets the message collapsed, the send throttled, or the account temporarily restricted. The tool will happily generate 10,000 copies; the platform on the other end is the constraint, and no generator changes that.

About this repeater

Everything happens in your browser. The text is never uploaded and never stored, which matters more here than it might seem — people paste drafts, names and private messages into repeaters without thinking about it. Closing the tab is the entire deletion process.

The cap is 10,000 copies. That is not a licensing limit, it is a rendering one: past roughly ten thousand repetitions of a short phrase, the browser is holding a string long enough that scrolling the output box becomes visibly slow on a phone, and no destination field accepts anything near it anyway. If you genuinely need more, repeat the result a second time.

One deliberate omission: there is no “download as image” button. Repeated text is text — its value is that it can be pasted, and an image cannot be. Tools that add the button are optimising for a feature list rather than for what anyone does with the output.

FAQ

Frequently Asked Questions

How many times can I repeat text?
Up to 10,000 copies. The limit is about how much text a browser can hold and scroll comfortably on a phone, not a paywall — and every destination field cuts off long before that number anyway. If you need more, run the result through a second time.
Does it work with emoji?
Yes, and it counts them correctly, which most repeaters do not. A family emoji like 👨‍👩‍👧 is several emoji joined by invisible zero-width joiners; tools counting raw code units report it as eight characters. Here it counts as one, so the total beside the output matches what the destination field will measure.
Can I repeat Arabic, Hindi or other non-Latin text?
Yes. Type or paste any script and the box follows its natural direction automatically. One thing to know: with no separator, Arabic letters at the join between two copies can visually connect to each other, because Arabic letterforms change according to their neighbours. New line is the default separator for exactly that reason.
Why is my character count different from another tool?
Because most tools count UTF-16 code units and this one counts grapheme clusters — what a reader sees as one character. They agree for plain English and diverge for emoji, accented letters and any non-Latin script. The count shown here is the one that matches what a platform character limit enforces.
What does the "Will it fit?" panel do?
It compares the result against the real ceiling of the places people usually paste it: an X post, an Instagram caption, a LinkedIn post, a TikTok caption and a WhatsApp message. Green means it still fits and how much room is left; red means how far over you are. It updates as you type, so you find out before copying rather than after pasting.
Which separator should I use?
New line for anything you want readable, and it is the safest choice in every script. Space for a running block in a chat message. Comma for spreadsheet cells or comma-separated form fields. Nothing for test strings and layout padding. Numbered list for templates — bearing in mind the numbers themselves add characters, so a thousand copies costs roughly four thousand extra.
Can I use a custom separator?
Yes — pick the custom option and type whatever you want between copies: a dash, a bullet, an emoji, a pipe. Up to twelve characters, which is more than any sensible separator needs.
Will this get me banned from WhatsApp or Discord?
Flooding a chat can get you rate-limited, and repeated identical content is one of the easiest things for a platform to detect. Messaging services throttle or collapse repeated messages and can temporarily restrict an account that keeps doing it. The tool generates whatever you ask for; the platform on the other end is the constraint, and no generator changes that.
Is my text sent to a server?
No. The repeating and counting run in your browser with JavaScript. Nothing is uploaded, nothing is logged, nothing is stored. You can watch the network tab while typing and see that nothing leaves the page.
Why does the numbered list produce so much more text?
Because each line carries its own index and a separator. At ten copies the numbering adds almost nothing; at a thousand, the indexes alone are around four thousand characters, since numbers get longer as they climb. If you are close to a platform limit, the numbered mode is the first thing to drop.
Can I repeat a whole paragraph, not just a word?
Yes — there is no restriction on the input length. The output cap is on the number of copies, not on how long each one is. Repeating a paragraph a thousand times will produce a very large block of text, which the fit panel will immediately tell you is over every limit.
Does it keep line breaks in my input?
Yes. Whatever you type is repeated exactly, line breaks included. If your input already spans several lines, each copy will too, and the separator you choose goes between the copies rather than inside them.
Why is there no "download as image" option?
Because repeated text is only useful if it can be pasted, and an image cannot be. Adding the button would make the feature list longer without making the tool more useful for anything anyone actually does with the output.
Does the count include the separators?
Yes. The number beside the result is the true length of what you will paste, separators included — which is the only figure that matters when you are checking it against a character limit. That is also why the same repeat count produces a different total depending on which separator you pick.
Can I use it offline?
Once the page has loaded, yes. Everything runs locally, so the tool keeps working with the network disconnected. Reloading the page while offline will not work unless your browser has cached it.
What happens if I type a number larger than 10,000?
It clamps to 10,000. The field also refuses values below 1, so you cannot end up with an empty result by accident.
Copied!