What this tool does
Text Repeater takes a string and emits it N times, joined by a separator of your choice. It's a one-line operation in any programming language, but having it as a UI saves the round-trip when you just need 200 copies of a placeholder, comma-separated.
Type your text, set Count (1 to 10,000), pick a Separator (new line, space, comma + space, no separator, or a custom string), and the output updates as you type.
Separator options
The separator goes between repetitions, not before the first or after the last, so 3 × foo with comma separator gives foo, foo, foo, not , foo, foo, foo,.
- New line, one repetition per line. The default. Good for test fixtures, line-oriented logs, or generating a long list of identical entries to paste into a spreadsheet.
- Space,
foo foo foo. Useful for stress-testing word-wrap, line-length, and tokeniser limits. - Comma + space,
foo, foo, foo. CSV-style or natural-language lists. Drop the result into aIN (…)SQL clause or an array literal. - No separator,
foofoofoo. Pure repetition. Used for stress-testing fixed-width parsers, repeating decorative characters (==========), or building long padding strings. - Custom, anything you type. Drop in
\|for pipe-separated,\tliteral for tab-separated (the field takes literal characters, not escape codes, paste an actual tab from your editor if you need one), or any multi-character delimiter.
Common uses
Repetition shows up everywhere you need bulk filler with a known size.
- Generating test data, 1,000 identical user records, 50 lines of placeholder text, a CSV with N rows of one value.
- Stress-testing layouts,
Loremrepeated 500 times reveals where your CSS forgets to handle long content. - Building delimiter rows,
=× 80 produces a Markdown horizontal-rule-style separator. - Generating a padding string,
0× 64 for filling a fixed-length field, orA× 1024 to make a 1 KB test payload. - Fixture seeds,
INSERT INTO logs VALUES ('placeholder');× 100 for quick database load tests. - Alignment guides,
123456789|× 8 for an 80-column ruler. - Meme-style emphasis,
lol× 50 with no separator. We don't judge.
How big can the output get?
The Count caps at 10,000. For an input of N characters and a separator of S characters, the output size is N × 10000 + S × 9999 characters. In the worst case (full input, comma+space separator) you can produce a ~1 MB output instantly. The browser handles that without complaint, but copying a megabyte to the clipboard is slower than downloading it as a file, hit Download instead of Copy for very large outputs.
If you need more than 10,000 repetitions, run the tool twice and concatenate, or use a one-liner in your shell:
yes "your text" | head -n 50000 > out.txt # bash
1..50000 | ForEach-Object { "your text" } > out.txt # PowerShell
Common gotchas
- Off-by-one on separator placement. Count = 3 produces 3 copies and 2 separators between them. To wrap output with a leading and trailing copy of the separator, prefix and suffix it manually after generating.
- Custom separator with literal escape sequences.
\nin the custom field is two characters (backslash, n), not a newline. Paste an actual newline if that's what you want. - Newlines in your input. If your input itself has multiple lines, those lines are part of the unit being repeated. With the new-line separator, you'll get blank-line-separated paragraphs in the output, not interleaved lines.
- Browser performance with output > 5 MB. Beyond that, switching tabs or scrolling can stutter. Download instead of trying to display the output.
- Count of 1. Produces output identical to the input, with no separator. The "Repeated × 1" status line is the giveaway.
Privacy
Your input text, the separator, and the generated output all stay in your browser. Nothing is uploaded to any server. Recent inputs are saved in your browser's local storage and can be cleared from the "Recent" card.