How to Convert TB2 to TAR Online
- Upload Your TB2 File: Drag and drop or click "+ Add Files" to select your.tb2 archive (also written as.tbz2,.tbz, or.tz2). Batch upload is supported, so you can decompress dozens of bzip2 tarballs in one pass.
- Pick Output Mode: TAR is preselected as the output extension. Under "Combine?" choose Single Archive to merge several inputs into one.tar, or Individual Archives to produce one.tar per input file (the default when you upload archives). No bitrate, codec, or quality knobs — TAR is a lossless byte-faithful container.
- Confirm Filename (Optional): xconvert keeps the original basename and swaps the extension, so
backup.tb2becomesbackup.tar. Rename inline before conversion if you need a different output name. - Convert and Download: Click "Convert". The bzip2 layer is stripped server-side and the underlying tarball is returned untouched — no re-archiving, no permission changes, no mtime drift. Files process on our servers with no sign-up and no watermark.
Why Convert TB2 to TAR?
TB2 is shorthand for a tar archive compressed with bzip2 — the same payload as .tar.bz2, just collapsed into a single-extension filename. Converting it to plain TAR keeps the file layout, permissions, ownership, and symlinks identical while removing the bzip2 wrapper. The result is a larger but instantly readable archive that every Unix utility, container builder, and backup tool can stream without invoking a decompressor.
- Faster random access for repeated reads — bzip2 is a block-sorting compressor with no built-in index, so seeking inside a
.tb2re-decompresses each 100-900 KB block. A plain.tar letstar --list,tar --extract --to-stdout, andddjump straight to the byte offset without CPU overhead. - Lower CPU on extraction-heavy pipelines — bzip2 decompression is roughly 3-4x slower than gzip and ~5x slower than xz on modern hardware. CI runners, embedded boards (Raspberry Pi, NAS appliances), and serverless functions with tight CPU budgets benefit from skipping it entirely.
- Recompression with a different algorithm — converting to.tar gives you a clean staging file you can then pipe into zstd, xz, or gzip. This is the standard workflow when migrating legacy
.tb2distribution mirrors to modern.tar.zst(used by Arch Linux package repos since 2019). - Compatibility with tools that lack bzip2 — minimal BusyBox builds, old AIX/HP-UX systems, and some Java archive libraries (
org.apache.commons.compresswithout the optional jbzip2 dependency) read TAR but not bzip2 streams. - Inspection without committing to extraction —
tar -tf archive.tarlists contents in milliseconds;tar -tjf archive.tb2decompresses the whole stream first. Auditors verifying a backup catalog appreciate the difference on multi-GB archives. - Re-pack into a different container — once you have a plain.tar you can convert it to TAR.GZ, ZIP, or 7Z without a redundant decompress-then-recompress hop.
TB2 vs TAR — Format Comparison
| Property | TB2 (tar.bz2) | TAR |
|---|---|---|
| Compression | bzip2 (Burrows-Wheeler) | None — pure container |
| Typical size on 100 MB of source code | ~18-25 MB | 100 MB (plus padding) |
| Extraction CPU | High — single-threaded bzip2 decode | Negligible — direct read |
| Random access | No index; sequential block decode | Direct byte-offset seek |
| Native tooling | tar -xjf, bzip2 -d, pbzip2 |
tar -xf, every POSIX system |
| Preserves Unix perms/symlinks/ownership | Yes | Yes |
| Block alignment | 512-byte tar blocks inside compressed stream | 512-byte tar blocks, padded to record size |
| Common origins | Linux source tarballs (kernel.org pre-2013), Gentoo distfiles, FreeBSD ports cache | Backups, Docker image layers, OCI artifacts |
Bzip2 Decompression Quick Guide
| Variant | Equivalent on disk | Notes |
|---|---|---|
.tb2, .tbz2, .tbz, .tz2 |
Same bytes as .tar.bz2 |
Single-extension aliases; some filesystems and older Windows tools prefer them |
Output .tar |
Uncompressed tar archive | Suffix changes; SHA-256 of underlying tar is identical to what bunzip2 would produce |
| Compression level used inside | Block size 100-900 KB (-1 to -9) |
Cannot be inferred from filename; xconvert decompresses whichever level was used |
Multi-stream .bz2 |
Concatenation of independent bzip2 streams | Handled transparently — output is a single contiguous tar |
Frequently Asked Questions
Is.tb2 the same file as.tar.bz2?
Yes. .tb2, .tbz2, .tbz, and .tz2 are all single-extension aliases for a tar archive compressed with bzip2. Byte-for-byte the contents are identical to .tar.bz2; only the filename differs. Some FAT/NTFS workflows and older Windows tools prefer the three-character suffix because they choke on double extensions.
Will the resulting.tar be larger than the.tb2?
Almost always, yes — that is the point. Bzip2 typically compresses text-heavy payloads (source code, logs, JSON) to 15-30% of their original size, so a 50 MB .tb2 of source might expand to a 200-300 MB .tar. Binary payloads that are already compressed (JPEGs, MP4s, pre-zipped jars) compress poorly under bzip2, so the size difference can be smaller — sometimes only 5-10%.
Does this conversion change file contents inside the archive?
No. The bzip2 layer wraps an unmodified tar stream, so removing it leaves the tar intact — same file ordering, same Unix permissions, same ownership UIDs/GIDs, same symlink targets, same mtime/atime/ctime values, same long-filename extensions (GNU ././@LongLink or PAX headers). sha256sum of the output .tar matches what bunzip2 archive.tb2 would produce locally.
Why is bzip2 decompression slower than gzip?
Bzip2 uses the Burrows-Wheeler transform on 100-900 KB blocks followed by Huffman coding. The reverse BWT requires sorting an entire block before any output bytes can be emitted, and the reference implementation is single-threaded. Gzip's DEFLATE is a streaming LZ77+Huffman scheme that emits output continuously. On a typical 2026 laptop, expect bzip2 decode at 25-40 MB/s versus gzip at 100-200 MB/s and zstd at 1-2 GB/s.
Can I extract a TAR directly without first converting?
Yes — tar -xf archive.tb2 auto-detects bzip2 in modern GNU tar (since 1.15) and BSD tar (libarchive). The reason to convert to.tar is when you need to re-pipe through a different tool, inspect the file list cheaply, or hand the archive to a system that lacks a bzip2 library. If you just want the files on disk, skip the conversion and use extract TB2 directly.
How do I recompress the resulting TAR with a faster algorithm?
After converting to.tar, run it through gzip, xz, or zstd. On xconvert, use TAR to TAR.GZ for a 2-3x speed boost on decompression versus bzip2 with a small size penalty, or TAR to TAR.XZ for tighter compression than bzip2 at the cost of slower packing. For the reverse direction, TAR to TB2 re-applies bzip2.
Does the converter preserve sparse files and hard links?
Yes — both are tar-level features encoded inside the tarball itself, not the bzip2 wrapper. Sparse-file extensions (GNUTYPE_SPARSE, PAX GNU.sparse.*) and hard-link references survive the conversion unchanged. The bzip2 layer never inspects the tar payload, so anything legal in the original .tar.bz2 is legal in the output .tar.
What's the largest TB2 file I can convert?
xconvert processes archives well into the multi-gigabyte range; the practical limit is your upload bandwidth and browser memory, not the converter. For multi-GB Linux distribution tarballs or large backup snapshots, expect the bzip2 decode to dominate processing time — bzip2 is single-threaded in the reference codec, so a 4 GB archive can take several minutes to decompress even with fast disk I/O.
Is TB2 still in active use, or is it legacy?
Both. Most new distribution channels have moved to xz (LLVM, Linux kernel since 3.4 in 2012) or zstd (Arch Linux packages since 2019, Fedora rpm payloads since F31). However, .tb2/.tar.bz2 remains common in: Gentoo Portage distfiles, FreeBSD ports cache, legacy SourceForge releases, and many academic dataset mirrors that haven't migrated. Converting old .tb2 archives to .tar (then optionally to .tar.zst) is a common modernization step.