Text Repeater — Repeat Any Text N Times
Repeat any text a given number of times, with the separator you choose between copies.
—
What this tool does
Repetition is a small, common need with no obvious place to do it. You might be padding a line in a plain-text file, building a repeated pattern for a test fixture, filling a character limit, or simply producing a run of a symbol. A text editor can do it with a macro; a browser tab should do it with one field.
This tool repeats whatever you paste, joined by a separator you control, and reports the size of the result so you can see when you are about to generate something unwieldy.
Method
| Input | Behaviour |
|---|---|
| Times | The number of copies, from 0 (empty result) up to 10,000. |
| Separator | Placed between copies, never after the last one. Choose new line, space, none, a punctuation mark, or your own string. |
| Empty input | Returns an empty result regardless of the count. |
Example
| Input | Times | Separator | Result |
|---|---|---|---|
| ab | 3 | dash | ab-ab-ab |
| * | 5 | none | ***** |
| hi | 3 | new line | hi on three lines |
What "repeat" means here
The result is the input written n times with the separator between adjacent copies — not
after the last one. That detail matters more often than it sounds: a separator appended after the
final copy produces one trailing separator, which breaks CSV rows, JSON arrays built by hand, and
any format where a trailing delimiter is significant. Repeating ab three times with a
dash gives ab-ab-ab, not ab-ab-ab-.
Zero is a valid count and produces an empty result, which is distinct from “leave the input alone”. This is deliberate: it makes the tool usable for generating a value from a variable count without a special case for zero.
Where a repeater is actually useful
Repeating text is a small operation, but it comes up in a surprising number of real tasks:
- Separator and border lines. A row of
=or-to underline a heading in a plain-text document or an email. - Placeholder and test data. A fixed-width filler value, a padded column, a repeated marker for a mock layout.
- Template scaffolds. Repeating a row or a blank block a set number of times before filling it in, which is faster than copy-paste for large counts.
- SQL and CSV lists. Repeating
?or%sto build a parameter list of the right length — with a comma separator and no trailing comma. - Markdown and ASCII tables. Repeating a pipe pattern to build a table skeleton.
Counting copies versus counting characters
The “Times” field counts copies of the whole input, not characters or lines. If your input has three lines and you repeat it twice with a new-line separator, you get six lines — because each copy brings its own internal line breaks. This is the usual source of a result that is longer than expected; the count multiplies the whole block, not each line independently.
To repeat each line separately, use one copy per line and a line-level tool instead. The distinction is between “this block, n times” and “each line, n times”, and they give different output for any multi-line input.
Size limits
The count is capped at 10,000 copies. The cap exists because the result is built in memory in your browser, and an unbounded repeat with a long input is a trivially easy way to exhaust it — a 1,000-character input repeated a million times is a gigabyte of text. Ten thousand copies of a typical line is already far more than a person pastes anywhere by hand.
Separators that are easy to get wrong
| Separator | Between copies | Watch out for |
|---|---|---|
| None | Nothing | Copies merge into one indistinguishable run |
| Space | A single space | Multiple copies read as one long sentence |
| New line | \n | On Windows, some consumers expect \r\n |
| Comma | , | No trailing comma, which is what CSV and SQL want |
| Custom | Whatever you type | A custom separator is used verbatim — including spaces or tabs you cannot see |
The custom field is passed through exactly as typed. If the result has an unexpected gap, check whether the separator field contains a trailing space — it is invisible in a single-line input.
Repeat versus duplicate lines
This tool repeats a block. To duplicate each line of a block in place — turning a\ b into
a\ a\ b\ b — you want a line-level operation, which Line Tools
covers. The two are easy to confuse because both “make more copies”, but the unit differs.
Frequently asked questions
Is there a limit on repetitions?
Yes. The repeater caps the count at 10,000 copies to keep the page responsive; a larger number would produce a string the browser cannot render or copy reliably. For bulk generation, repeat a shorter block and combine it, or use a script rather than a textarea.
Does it repeat each line or the whole block?
The whole text you paste is repeated as one block, with your chosen separator between copies. If you need each line repeated individually, repeat the lines before pasting or use a spreadsheet formula such as =REPT(A1,n); this tool treats the input as a single string.
What is a text repeater used for?
Filling a line, padding a message to a length, generating a repeated pattern for a test string, or producing a run of a character or emoji. It is also the fastest way to make a “wall” of text for a sign or a social post.
What separators can I use?
A new line, a space, nothing at all, or your own string — so you can repeat with a comma, a dash or any other joiner between copies.
How many times can I repeat?
Up to 10,000 copies per run, which is well beyond what any page will display sensibly. The limit exists to keep the tab responsive.
Is the text sent anywhere?
No. The repeat happens in your browser; nothing is uploaded and nothing is stored.
Go deeper
Longer explanations of the problems this tool solves:
Sources
- Plain repeat-and-join semantics; the separator is inserted between copies only, so there is no trailing separator.
Everything runs in your browser — nothing you type is uploaded.