Text desk
Join Lines
Combine logical lines with a safe, bounded delimiter such as a comma, tab, or newline.
Join Lines: Combine a vertical list into one text sequence with your chosen separator between entries. Join Lines can produce a comma-separated display, tab-delimited text or an uninterrupted string. It removes the source’s final line ending and does not add a separator after the last logical entry. Runs 100% locally in your browser with zero server file uploads.
- Category
- Text tools
- Runs
- In your browser
- Cost
- Free · no sign-up
- Availability
- Ready to use
Runs entirely in your browser
Result
ReadyJoining intentionally removes the input's final newline. Delimiters accept only the four documented escapes; no code or regular expressions are evaluated.
Separator-count formula and result
For n logical entries L1 through Ln and decoded delimiter D, output = L1 + D + L2 + … + D + Ln. When n ≥ 1, separator count = n − 1 and output length = sum of entry lengths + (n − 1) × length(D). With input 12\r\n\r\n34\r\n and delimiter | , n = 3: the result is 12 | | 34, length 2 + 0 + 2 + 2 × 3 = 10. The last CRLF is omitted, not converted into a trailing separator.
Line endings and export limits
Splitting recognises LF, CRLF and CR before joining. To emit CRLF between entries, enter the delimiter escapes \r\n; the last entry still has no final terminator. RFC 4180 (https://www.rfc-editor.org/rfc/rfc4180) documents CSV records and quoting if that is your destination. This join accepts 100,000 input code points and up to 10,000 lines. Its 200,000-code-point output ceiling includes every expanded delimiter, so a long separator can exceed the limit even with short list values. The editor limits input by UTF-16 units as well, so supplementary characters take two places in that allowance. Apply remove empty lines first when gaps should not become empty fields.
How to use it
- Paste or type your lines in the local editor.
- Set the options shown for this transformation and run it.
- Review the result, then copy or download the text.
Privacy & limitations
Your text and result stay on this device. There is no upload or execution of entered code.
Related tools
Frequently asked questions
Why are there two commas next to each other?
An internal empty entry still occupies a position. Joining red, a blank row, and blue with a comma gives red,,blue. Remove empty lines beforehand if the blank should disappear. Trimming first only makes whitespace-only entries empty; it does not remove their positions.
Which delimiter escapes are supported?
Type backslash-n for LF, backslash-t for a tab, backslash-r for CR, or two backslashes for a literal backslash. Other escapes and an unfinished backslash are rejected. An empty delimiter is permitted and glues the entries directly together. The entered delimiter is limited to 20 code points.
Is joining with a comma sufficient for a CSV import?
Only for simple values that do not need quoting, and even then check the importer’s expected layout. Joining does not escape commas or quotes already in an entry. It also does not create a header or verify column counts. Use proper CSV serialization for arbitrary data.
Free tool · runs in your browser · no account required