Text Repeater
Repeat any text or phrase a set number of times with a custom separator.
Did this tool work for you?
How to use this calculator
- 1
Enter the text or phrase you want to repeat in the single-line box.
- 2
Set the number of repetitions, from 1 to 1,000; an empty box or 0 gives one copy.
- 3
Choose a separator between copies, or pick Custom and type your own.
- 4
Check the Repetitions and Total Characters rows before copying the result.
Frequently asked questions
Why does the tool stop at 1,000 repetitions?
The count is clamped to a range of 1 to 1,000 in the code. Enter 5,000 and you get 1,000 copies; the Repetitions row shows the number actually used. The cap keeps the result box and your clipboard manageable, and a longer run is easy to build by pasting the output back in and repeating it again.
What happens if I enter 0, a negative number or a decimal?
Zero, negative and non-numeric values are all treated as 1, so you always get at least one copy. Decimals are truncated, not rounded: 2.9 becomes 2. An emptied number box counts as 0, so it also gives a single copy and never an empty result.
I typed 5,000 and got 5 copies. Why?
The number is read up to the first character that is not a digit, so the comma ends it. Type 5000 with no separators. Scientific notation fails the same way: 1e3 reads as 1.
Is there a separator after the last copy?
No. Separators go only between copies, so N repetitions use N − 1 separators. Three copies of "tag" with the comma option give tag, tag, tag with nothing trailing, which is what you want when the result is a list or CSV row.
Does the comma option add a space?
Yes. The Comma choice inserts a comma followed by one space (", "), which is 2 characters. If you need a bare comma, choose Custom and type just ",". Custom separators are inserted literally, so typing \n gives a backslash and the letter n, not a line break; pick the New line option for that.
Can I repeat a multi-line paragraph?
Not directly. The text field is a single line, so you cannot type line breaks into it. You can repeat a one-line phrase and separate the copies with new lines, which covers lists and test rows. For a multi-line block, repeat one line at a time or paste the output into your editor and duplicate it there.
How is Total Characters counted?
It is the length of the result as JavaScript counts it, in UTF-16 code units. Plain letters and digits count as 1, but an emoji such as 😀 counts as 2, so a field limit enforced in "characters" by some other system may report a smaller number than this tool does.
What does it do when the text box is empty?
It shows a prompt instead of a result. A space is not empty, though: a single space repeated 10 times with no separator gives a 10-character string of spaces, which is handy for padding tests.
Text repeater: copies, separators and limits
How the output is built
The tool joins N copies of your text with a separator between each pair, never after the last copy. The total length is therefore N × (text length) + (N − 1) × (separator length). Three copies of "ha" with no separator give hahaha, six characters. The text itself is used exactly as typed, with no trimming, so leading and trailing spaces are repeated too. Pick the separator from the options in the table.
| Option | Inserted between copies | Length |
|---|---|---|
| New line | A line break | 1 character |
| Space | One space | 1 character |
| Comma | A comma and a space | 2 characters |
| None | Nothing, copies run together | 0 characters |
| Custom | Whatever you type, taken literally | Your choice |
How the repeat count is read
The count box is read as a whole number from the start of what you typed, then forced into the range 1 to 1,000. An empty box, 0, a negative number and plain text all give one copy, so the tool never returns an empty result for a filled text box. Decimals are cut off, not rounded. Anything after the first non-digit is ignored, which catches people who type a thousands separator. Surrounding spaces are fine.
| Entered | Copies | Why |
|---|---|---|
| 0 or empty | 1 | Not a positive number, so 1 is used |
| -3 | 1 | Negative values are raised to 1 |
| 2.9 | 2 | Decimals are truncated |
| 5,000 | 5 | Reading stops at the comma |
| 1001 | 1,000 | Capped at the maximum |
Worked examples
Four runs with fixed inputs show the arithmetic. Three copies of the emoji 😀 with no separator return 6 characters, because JavaScript counts that emoji as two units. The last row asks for 5,000 copies of "row" joined by " | ". The tool returns 1,000, and the length checks out as 1,000 × 3 + 999 × 3 = 5,997.
| Text | Times | Separator | Output | Characters |
|---|---|---|---|---|
| ha | 3 | None | hahaha | 6 |
| tag | 4 | Comma | tag, tag, tag, tag | 18 |
| 😀 | 3 | None | 😀😀😀 | 6 |
| row | 5000 | Custom " | " | 1,000 copies of row | row | ... (capped) | 5,997 |
Custom separators and special characters
A custom separator is inserted literally. Typing the two characters backslash and n produces a visible \n between copies, not a line break, so use the New line option for that. Leaving the custom box empty behaves like None. The text field holds a single line, so a multi-line block has to be repeated one line at a time. A text box containing only a space is valid: ten copies with no separator give ten spaces, which is useful for padding tests.
Planning the output size
The code sets no limit on characters, only on copies, so the size depends on your phrase. One letter repeated 1,000 times is exactly 1,000 characters. A 12-character phrase repeated 1,000 times with the Comma option is 1,000 × 12 + 999 × 2 = 13,998 characters. If the Total Characters row is larger than the field you are pasting into, lower the count or shorten the phrase and run it again.
Learn more from an authoritative source:
WikipediaLorem Ipsum Generator
Generate placeholder Lorem Ipsum text by words, sentences, or paragraphs.
Text Cleaner
Remove special characters, HTML tags, punctuation, numbers, or any custom characters from text.
Readability Score Calculator
Calculate the Flesch Reading Ease score, Flesch-Kincaid grade level, and key text statistics for any piece of writing.
Headline Analyzer
Score your blog post, email, or article headline for emotional impact, power words, word balance, and SEO potential.
Blog Title Generator
Generate 10 click-worthy blog post titles for any topic using proven headline formulas — listicles, how-tos, questions, and more.
Article Outline Generator
Generate a structured article or blog post outline with H2 and H3 headings, word count targets, and content suggestions.
Results are estimates for informational purposes only and do not constitute professional financial, medical, legal, or technical advice. Read full disclaimer →