Free online file viewer

Drop a file and see two things at once: what it is — real type, size, dimensions, EXIF, page count — and what it contains. Images, PDF, multi-page TIFF, Word, Excel, PowerPoint, CSV, text, video, and raw YUV frames dumped from an Android camera.

Nothing is uploaded. Every byte is parsed in this tab, so reading a file keeps working with the network switched off. The one exception is the optional barcode scan: it downloads Dynamsoft Barcode Reader the first time you use it and activates a license online.

Drop files here

or click to browse — several files at once is fine

Samples

What it reads

Images

Dimensions, megapixels, colour depth, DPI and the full EXIF block — camera, lens, exposure, orientation and GPS.

jpg jpeg png gif webp avif bmp ico svg

TIFF

Every IFD becomes a page, so a scanned batch opens as one document with page navigation. LZW, Deflate and PackBits compression.

tif tiff

PDF

Rendered page by page with pdf.js: page size in points, PDF version, producer and creation date, page count.

pdf

Office

Word sections, spreadsheet sheets and presentation slides each map to a page, so the page control stays honest.

docx xlsx pptx

Text and CSV

Encoding is detected rather than assumed (UTF-8, UTF-16, GBK), CSV becomes a table with the delimiter it actually uses.

txt csv tsv json md log xml

Raw YUV

The file Android hands you from onPreviewFrame or an ImageReader: no header, no dimensions. Pick the layout and the frames resolve themselves.

yuv nv21 nv12 i420 yv12

Video and audio

Duration, resolution and aspect ratio from the container, then the browser's own decoder plays it.

mp4 webm mov m4v mp3 wav ogg

Barcode scan

Right-click any page, drag a box around the symbol and read it in place. The result arrives with an annotated crop you can copy or download.

right-click · SDK on demand

Everything else

A binary gets no fake preview: the viewer reports the container it recognised from the first bytes and stops there.

exe zip sqlite elf …

Why the metadata is the useful half

When a scanner pipeline misbehaves, the file usually tells you why before the pixels do. A JPEG that reports orientation 6 was taken sideways, so a decoder that ignores EXIF will feed a rotated page into OCR. A TIFF whose page count is 1 when the feeder pulled twelve sheets was truncated upstream. A PDF with no producer and a 2001 creation date is a scan that was flattened, not a document that was exported.

The raw YUV case is the clearest. A file dumped from an Android camera has no header at all — no width, no height, no pixel format, and no clue whether you have one frame or forty. The viewer guesses from the file size against common capture sizes, and then lets you correct it: choose NV21, NV12, I420, YV12, YUY2 or UYVY, type the width and height, and the frame count and colours fall into place. Get the format wrong on a 4:2:0 frame and the image turns green and purple, which is exactly the bug you are looking for.

  • Type is decided by magic bytes first, extension second — a .jpg that is really a PNG is labelled as a PNG.
  • Hashes are computed with the Web Crypto API, locally, so you can compare two copies of a file without sending either anywhere.
  • Page state resets per file, and every parser is loaded on demand, so opening an image never downloads a PDF engine.

Limits worth knowing

Office rendering is a reconstruction, not a print engine: fonts are substituted, complex layouts reflow, and SmartArt or charts arrive as empty frames. Word pages come from the document's own section and page breaks, so a document that relies on "fit to page" shrink may paginate differently here than in Word. Excel sheets are split into blocks of 40 rows so that the page control means something on a sheet with 10,000 rows; the split is a reading aid, not the workbook's own print layout.

Video playback depends entirely on what the browser can decode — an H.265 clip in a .mov container may report its duration and still refuse to play. TIFF decoders handle the common compressions but not every exotic variant. Raw YUV has no metadata by definition, so the first frame is a guess until you set the width and height. Nothing here is a forensic tool: it reports what the bytes say, and the SHA-256 it shows is computed from the copy you dropped in.

Right-click scanning crops the pixels you select. When the page already is pixels — an image, PDF, TIFF, YUV or the current video frame — the crop comes from its own resolution. Word, Excel, PowerPoint and text are rendered to pixels first, so that crop is screen resolution. The reader is downloaded the first time you scan and needs a license to activate: the hosted page carries a domain-bound one, a copy you run yourself needs its own.

Large files: PDFs over ~150 MB and text over 8 MB are capped, with a note in the preview, because a browser tab is not a hex editor.