This library provides a simple way to create POSIX TAR files. Library has no additional dependencies and will work both on a server-side and in a browser.
More info about TAR format can be found here
npm install tinytar to install library.
dist/tinytar.min.js to your html page and use
tinyTar variable to access library API.
To use this library in CommonJS style use
var tinytar = ;
require('tinytar').tar function. It accepts an array with objects; each
object describes a single file. Objects properties are directly mapped to
TAR header fields (see here). Property
data may contain
data for a file (if omitted - empty file will be added). Library supports
almost everything that can contain data: strings, any array-like objects
Array and all typed arrays of course),
Buffer objects. Be careful: characters from string and values
Array will be clamped and only low byte will be used;
typed arrays and
ArrayBuffer will be saved properly.
Uint8Array with TAR data which can be saved or used
For examples, see
Reading is as simple as writing: use
require('tinytar').untar function and
pass anything that can be used as buffer (same as
data property for file
object - see above).
untar also accepts some options:
extractData: true- if set to
falseonly archive index will be extracted, without files data.
checkHeader: true- check header for integrity.
checkChecksum: true- validate checksums.
checkFileSize: true- file should be aligned to record boundary (512 bytes) and should contain two empty records at the end.
Some or all
check* options may be set to false - this will allow to read
For examples, see
This library works great with
pako: together they can
create and read
var tar = tar;var gzip = gzip;var gzipped =;
var untar = untar;var ungzip = ungzip;var files =;