WebDataset (TAR) Viewer
Open a WebDataset .tar shard in your browser. Members are grouped into samples by their key, and you can preview the images, audio, text and JSON inside, with nothing uploaded.
Free, no sign-up, and fully client-side. Your file never leaves your browser. Opens .tar.
Open the viewer and drop a file to get started.
What is a WebDataset?
WebDataset is a convention for large machine-learning datasets stored as plain .tar archives. Files that share a base name form one sample, for example 000123.jpg, 000123.json and 000123.cls are the image, metadata and label for sample 000123. Packing samples into tar shards makes them stream efficiently during training.
ViewKit indexes the tar by walking its headers, without reading the file bodies, groups the members into samples by key, and lets you preview each member: images and audio inline, text and JSON as text. Nothing is uploaded.
What you can do with the WebDataset viewer
Sample grouping
Members that share a base name are grouped into one sample, the way WebDataset loaders see them.
Inline previews
Preview images and audio directly, and read text, JSON and label files in place.
Lazy indexing
The tar’s headers are walked to build the index; a member’s bytes are read only when you preview it.
Long names & big shards
GNU and PAX long filenames are handled, and large shards index quickly because bodies are read on demand.
How to open a WebDataset file
- 1
Drop your .tar shard onto the box above (or click to browse). It is read in your browser, nothing uploads.
- 2
Browse the samples; each groups the members that share a base name.
- 3
Open a member to preview it, images and audio inline, text and JSON as text.
Doing the same thing in code
A shard is a standard tar archive, so the standard library can list it:
import tarfile
with tarfile.open("shard-000000.tar") as tar:
for member in tar.getmembers()[:12]:
print(member.name, member.size)This lists members, not samples. Grouping members into the samples a loader would yield requires matching base names, and getmembers() reads the full archive index first. This page groups samples by key and previews the contents of each member.
WebDataset viewer: frequently asked questions
How are samples grouped?
Members that share a base name (like 000123.jpg and 000123.json) are grouped into a single sample, matching how WebDataset loaders read the shard.
Why does one sample appear split into several?
WebDataset requires the files belonging to a sample to be adjacent in the tar, because loaders stream the archive and start a new sample whenever the base name changes. A shard written with all the images first and all the JSON afterwards reads as many incomplete samples. The grouping shown here matches what a loader produces, so a shard packed in the wrong order is visible immediately.
Can I open a .tar.gz shard?
Not directly. The index is built by walking the tar headers, which is only possible on an uncompressed archive; a gzipped shard would have to be fully decompressed first. Decompress it locally and open the resulting .tar.
Can it open large tar shards?
Yes. Only the tar headers are read to build the index; each member’s bytes are read on demand when you preview it.
Is my data uploaded?
No. The shard is read entirely in your browser; its contents never leave your machine.