Text File Merger
Text File Merger calls File.text() on every selected file, joins the decoded strings in selection order, and downloads merged.txt. The separator field defaults to a newline whenever it is empty, so this interface cannot intentionally choose an empty separator. It does not reconcile encodings, add missing line breaks inside files, preserve filesystem metadata, or validate that inputs are actually text.
Runs locally — files stay on your deviceWhat determines merge order?
The order in which the browser exposes the selected files.
Concatenation joins decoded strings
Each file is decoded to JavaScript text and the chosen separator is inserted only between complete file strings.
How it works
All selections are read concurrently with File.text(), their result order follows the input list, and a text/plain Blob named merged.txt is downloaded.
Key concepts
Separator is between files
It is not added before the first or after the last file.
Empty means newline
The current fallback prevents a truly empty join.
When to use it
- Join compatible UTF-8-style text fragments.
- Combine ordered logs with a visible separator.
- Create one plain-text handoff from several small files.
When not to use it
- Do not merge binary or mixed-encoding inputs.
- Do not expect CSV-aware or JSON-aware merging.
- Do not rely on selection order without checking filenames.
Worked examples
Two notes
- Input
A + B, separator newline- Expected output
A\nB
One separator is inserted.
Blank separator field
- Input
A + B- Expected output
A\nB
Newline is the fallback.
CSV files
- Input
Two files with headers- Expected output
Both headers retained
No table-aware deduplication occurs.
Common mistakes
Merging structured files blindly
Concatenation can make invalid CSV, JSON, or code. Correction: Use a format-aware merge.
Assuming encoding preservation
Inputs are decoded then re-encoded. Correction: Normalize and verify character encoding.
Expecting original metadata
The download is a new file. Correction: Record required metadata separately.
Best practices
- Use compatible plain-text inputs.
- Choose and preview an unambiguous separator.
- Verify ordering and the final boundaries.
Related operations and differences
Add Prefix to Filenames
Choose Add Prefix to Filenames when you need to add a prefix to selected filenames.; use Text File Merger specifically for text merge.
Add Suffix to Filenames
Choose Add Suffix to Filenames when you need to add a suffix before every extension.; use Text File Merger specifically for text merge.
Compare Two Files
Choose Compare Two Files when you need to compare two files securely by SHA-256.; use Text File Merger specifically for text merge.
File Checksum Comparator
Choose File Checksum Comparator when you need to compare a file digest with an expected checksum.; use Text File Merger specifically for text merge.
File Hash Calculator
Choose File Hash Calculator when you need to calculate a local cryptographic file digest.; use Text File Merger specifically for text merge.
File Size Calculator
Choose File Size Calculator when you need to inspect exact and human-readable file sizes.; use Text File Merger specifically for text merge.
Limitations and privacy
- No encoding selector, binary detection, preview, header handling, line-ending normalization, streaming, or metadata preservation.
- Empty separator becomes newline.
- All decoded strings occupy memory.
Processing happens in this browser. Selected file contents are not uploaded by this tool.
Downloads and copied results remain on this device; handle them according to their sensitivity.
Frequently asked questions
What is the output name?
merged.txt.
Can I join without a separator?
Not through the current empty field; empty falls back to newline.
Are headers removed?
No.
Are originals changed?
No.