Works with any backend npm install Zero dependencies

EXIF Data

Display EXIF metadata from uploaded JPEG images, including camera model, date taken, and GPS coordinates.

Drag & drop JPEG images here
Select a JPEG image to view its EXIF data...
var uploader = new MultipleUpload(el, {
 uploadUrl: '/api/upload',
 accept: 'image/jpeg',
 onFileAdded: function(task) {
 readExif(task.file, function(exif) {
 console.log('Camera:', exif.camera);
 console.log('Date:', exif.date);
 console.log('Dimensions:', exif.width + 'x' + exif.height);
 });
 }
});

function readExif(file, callback) {
 var reader = new FileReader();
 reader.onload = function(e) {
 var view = new DataView(e.target.result);
 // Parse EXIF from JPEG binary data
 var exif = parseExifData(view);
 callback(exif);
 };
 reader.readAsArrayBuffer(file);
}

Metadata the file carries

JPEGs from cameras and phones carry EXIF: capture time, device, exposure settings, orientation, and frequently GPS coordinates. All of it is readable in the browser before the file is uploaded.

Two reasons to look at it

The useful one is orientation, which is what autoOrient acts on so photos arrive upright. The important one is privacy: if the uploaded image will be visible to anyone else, the location and device details travel with it unless something removes them. Re-encoding through the image pipeline drops most of it as a side effect — worth doing deliberately rather than relying on.