Text File Merger
Combine two to twenty local text files in selected order with an explicit newline, blank-line, or no-separator rule.
Privacy: your files never leave your device. All processing happens locally in your browser.
How to use
- 1.Choose two to twenty TXT, CSV, MD, or LOG files in the intended order.
- 2.Select one newline, one blank line, or no inserted separator.
- 3.Merge, inspect the exact preview, and download merged-text.txt.
About Text File Merger
Text File Merger combines two to twenty local plain-text files in the exact order supplied by the browser file picker. Choose one newline, one blank line, or no inserted separator between files, run the merge, review the complete generated string, and download it as merged-text.txt. File reading and output creation happen inside the current browser tab. Nothing is uploaded to Lizely.
Accepted filename extensions are TXT, CSV, MD, and LOG. The tool treats every accepted file as text; an extension does not make it a format-aware parser. CSV quoting, Markdown structure, log records, and delimiters remain ordinary characters. A binary file renamed with an accepted extension may decode with replacement characters, so inspect the preview before using the result.
Source order is significant. The first selected file contributes the first text, followed by the selected separator and the second file, continuing through the list. The tool does not sort by filename, modification date, size, or natural-number order. Browser file pickers normally preserve the selection order, but confirm the preview when order matters.
One newline inserts exactly LF between adjacent file strings. One blank line inserts two LF characters. Nothing concatenates the strings directly. Existing leading and trailing line breaks inside each file are preserved, so a file already ending in LF plus the blank-line option can produce three consecutive LF characters before the next file. The tool never trims or deduplicates boundaries.
The output standardizes only the separator created by the tool. Line endings already inside each decoded file remain as read by the browser. No byte-order mark is added. The downloaded Blob declares UTF-8 plain text, and its bytes are produced from the JavaScript string. The original files are never modified.
At least two files are required because a one-file operation would not be a merge. The maximum is twenty files and the combined input size is capped at 10 MiB. Exactly 10 MiB is accepted; one byte beyond it is rejected before any file content is read. These limits bound browser memory, parallel text decoding, preview rendering, and generated output size.
Empty files are allowed when the batch otherwise meets the rules. Their contribution is an empty string, while selected separators around them are still inserted. This preserves the declared file sequence instead of silently dropping entries. A zero-byte result is possible only from multiple empty files with the no-separator option.
The download button creates a temporary object URL only when clicked, triggers the browser download, and revokes the URL immediately. Repeated renders therefore do not accumulate Blob URLs. Selecting new files or another separator clears the old result and validation state so stale output cannot be confused with the current inputs.
Use this tool to concatenate small notes, exported list segments, Markdown chapters, log excerpts, or compatible CSV fragments. CSV files are safe to concatenate only when their schemas, delimiter rules, encoding, headers, and quoted multiline records are compatible. The tool does not remove repeated headers or validate a tabular schema.
For sensitive or very large data, use a local command-line utility with explicit encoding and streaming behavior. This browser tool is intended for bounded convenience, not archival preservation or lossless binary concatenation. Keep the source files until the downloaded result has been opened and checked in its destination application.
The same decoded strings, order, and separator always produce the same output. There is no account, server request, history, or background upload. Filename, size, extension, and decoded text exist only in the active page while the operation runs.
Methodology & sources
Require 2–20 files with TXT, CSV, MD, or LOG extensions, sum sizes before reading and reject totals above 10 MiB, decode each selected file locally in picker order, join strings with exactly LF, LF LF, or an empty separator, preserve all source content, preview the deterministic result, and create and immediately revoke a temporary UTF-8 Blob URL only on download click.
Frequently asked questions
- Does the tool sort files by name?
- No. It preserves the order supplied by the browser file picker.
- Are existing line breaks trimmed?
- No. File content remains unchanged, and only the selected separator is inserted between files.
- Does it understand CSV headers or Markdown sections?
- No. Every accepted file is decoded and concatenated as plain text.
- Are files uploaded?
- No. Reading, merging, previewing, and Blob download creation happen locally.
Related tools
- Text File SplitterSplit one local text file into predictable line-count parts and download every UTF-8 chunk without uploading the source.
- Remove Duplicate LinesKeep the first occurrence of each line with optional case and edge-whitespace comparison, while preserving the retained text exactly.
- Line Break ConverterConvert actual CRLF, CR, and LF line breaks to literal \n, reverse common escape sequences, or replace breaks with spaces.
- Text FormatterApply only selected line trimming, horizontal whitespace collapse, and blank-line limits while leaving words and punctuation untouched.
- Add Line Numbers to TextNumber every line of pasted text from a chosen starting value with a custom separator and optional zero padding.
- Add Prefix and Suffix to LinesAdd literal prefix and suffix text to every pasted line, with an option to leave blank lines untouched.
Text Tools guides
View all- Remove Emoji from Any Text Without Losing Formatting
- Yes, You Can Copy and Paste Emojis Anywhere in One Click
- How to Extract Email Addresses From Excel Cells
- Count Text Occurrences in Excel Without Formulas
- Count Characters in a String in Python (Plus Real-Time Counts)
- How to Change Case in an Excel Sheet Without Formulas
- Make LinkedIn Posts Stand Out with Bold Text
- Add a Prefix to All Lines in a File on Linux the Easy Way
- How Do I Add a Number to Text on Every Line
- How to Reverse Text Without Breaking Emojis
- How to Copy Special Characters with Unicode Names and Codes
- Count Lines in a File in Linux Without Command-Line Hassle
- Remove Line Break Symbols in Outlook Without Losing Formatting
- Extract Email Addresses from a Cell in Excel in One Click
- How to Generate Random Words in Excel
- How to Emoji Copy and Paste From Any Browser
- How to Generate Lorem Ipsum Online
- How to Create a Random List in Excel Without Formulas
- How to Use Kaomoji: Copy and Paste Japanese Emoticons
- Count Characters in a Cell in Excel and Beyond for Social Media