Batch Text Header and Footer Tool
Prepend and append chosen text to browser-readable text files in batch. Processing takes place locally in your browser.
Start using
Literal text before and after each file
Each output contains exactly the prefix, decoded source text and suffix, in that order. For example, prefix [, source Hello and suffix ] produce [Hello]. No newline, date, filename, placeholder or template expansion is added automatically.
Encoding and line breaks
The browser reads each file as UTF-8 using File.text(), and the output is encoded as UTF-8. A leading UTF-8 BOM is removed; invalid UTF-8 can become replacement characters. The decoded source line-break characters are concatenated as text. Line breaks entered in the prefix and suffix fields follow the browser textarea value. This is not a byte-preserving file editor and does not preserve source timestamps or permissions.
Limits and ZIP output
Processing accepts up to 500 selected files, a source file of at most 64 MiB and total source data of at most 128 MiB. Prefix and suffix together are limited to 16,384 UTF-16 code units, a count of code units rather than UTF-8 bytes. Total wrapped UTF-8 file payload is limited to 128 MiB; ZIP headers add overhead. Duplicate or unsafe archive paths are rejected.
The file picker lists common text extensions such as TXT, CSV, Markdown, HTML, JSON, XML and LOG. There is no folder picker. Relative paths are used only when the supplied File objects have webkitRelativePath; otherwise filenames are used.
Before using the result
Text is concatenated literally, without validating JSON, CSV or another document format. Adding a prefix can therefore change whether a structured file remains valid. Binary documents are not parsed. Test a representative UTF-8 file and inspect the downloaded ZIP. Selected content is processed in the browser, and the originals are not overwritten.
Processing takes place locally in your browser.