Glue multiple lines into one string with a separator of your choice. Comma, pipe, semicolon, " - ", anything.
You have one item per line. You need them on a single line, separated by commas — for a SQL IN(), a slug, a CSV cell, a tag attribute. This tool does that.
Default separator is ", " (comma + space). Override with anything: a tab, a newline literal, " | ", " — ", or your own string.
Drop in one item per line. Blank lines are skipped by default.
Default is ", ". Change it to whatever you need — special chars and spaces are preserved literally.
Hit Copy. The output is one joined string ready to paste into a query, attribute, or message.
Yes — type \n in the box. The output will be multi-line again, useful for re-joining with a different visible separator.
Not by default — they're skipped. Turn off SKIP BLANKS to include them as empty entries.
No. The separator only goes between items.
It trims each input line. The full result is also trimmed only if TRIM RESULT is on.
The joiner doesn't escape anything — it puts the separator between items literally. So if you join URLs with "," and one URL contains a comma, you'll get an ambiguous result. For CSV-safe joining where fields might contain the delimiter, use a real CSV library (Python's csv, Node's csv-stringify) instead — or pick a separator that doesn't collide, like " | " or a tab.
Join produces a single output line, which can be megabytes long. Up to ~1M input lines runs comfortably. Above ~100 MB output, Chrome's Copy may silently fail — this hits Join the hardest of any tool here because the result is one giant line. Use Download instead, which has no practical limit.