Skip to content

Repository files navigation

datclean

datclean

Clean your photos. Protect your privacy.

Strip GPS coordinates, device info, timestamps, and all hidden EXIF metadata from your photos instantly, entirely in your browser. Zero uploads. Zero traces.

🗂️ Pages

🛡️ Clean Images (/)

Remove all EXIF metadata from your photos while keeping the original file format and full resolution. Inspect exactly what's hiding in your files before stripping.

⚡ Optimize Images (/optimize)

The full pipeline in one click — strips all EXIF metadata, resizes images taller than 720px down proportionally, and exports everything as WebP. Perfect for preparing photos for the web.

✨ Key Features

  • 🔒 100% Client-Side Processing: Every byte of browser-based processing happens inside your tab. Your images are never read by anyone but you.
  • 🌐 Public REST API: Two open endpoints — /api/exif and /api/optimize — let anyone integrate datclean into their own apps. No API key required, full CORS support.
  • 📦 Batch Support: Drop tens of files at once and clean or optimize them all with a single click, with per-file metadata inspection.
  • 🗺️ GPS & EXIF Stripping: Removes GPS coordinates, device model, timestamps, camera settings, and all hidden metadata fields.
  • ⚡ Image Optimization: Resize tall images to 720px height (proportional), convert to WebP at 90% quality.
  • 📱 HEIC Support: Full support for iPhone HEIC photos — converted and cleaned in-browser and via the API using libheif.
  • 🔍 Metadata Preview: Inspect exactly what metadata is hiding in your files before deciding to strip it.
  • 💚 Always Free: No subscriptions, no sign-ups, no paywalls. Open source and free forever.

🌐 Public API

datclean exposes two public REST endpoints that anyone can call — no API key required.

POST /api/exif

Strips all metadata (EXIF, XMP, IPTC) from an image while keeping the original format and full resolution.

DetailValue
MethodPOST
Content-Typemultipart/form-data
Field nameimage
Max file size50 MB
Supported formatsJPEG, PNG, WebP, AVIF, TIFF, GIF, HEIC/HEIF
Output formatSame as input (HEIC → JPEG)

Response headers

HeaderDescription
Content-TypeMIME type of the output image
Content-DispositionSuggested filename (e.g. photo_datclean.jpg)
X-Original-FormatDetected input format (e.g. jpeg, heif)
X-Original-SizeInput file size in bytes
X-Output-SizeOutput file size in bytes

POST /api/optimize

Full optimization pipeline: strips metadata → resizes to max 720 px height (proportional) → exports as WebP at 90% quality.

DetailValue
MethodPOST
Content-Typemultipart/form-data
Field nameimage
Max file size50 MB
Supported formatsJPEG, PNG, WebP, AVIF, TIFF, GIF, HEIC/HEIF
Output formatimage/webp

Response headers

HeaderDescription
Content-TypeAlways image/webp
Content-DispositionSuggested filename (e.g. photo_opt.webp)
X-Original-Width / X-Original-HeightSource dimensions in pixels
X-Output-Width / X-Output-HeightOutput dimensions in pixels
X-Was-Resized"true" if the image was scaled down, "false" otherwise
X-Original-SizeInput file size in bytes
X-Output-SizeOutput file size in bytes

Error responses

All errors return JSON with an error field and an appropriate HTTP status code.

StatusMeaning
400Missing image field
413File exceeds 50 MB limit
415Wrong Content-Type (must be multipart/form-data)
500Processing failed (invalid or corrupt image)

🛠️ Technology Stack

⚖️ Disclaimer & Privacy

How It Works

Clean Images pipeline:

  • Decodes your image into an ImageBitmap (browser-native, strips all metadata in memory)
  • Redraws pixel data onto an OffscreenCanvas at original resolution
  • Exports in the original format (JPEG, PNG, WebP, TIFF — HEIC becomes JPEG)

Optimize Images pipeline:

  • Same EXIF stripping via OffscreenCanvas
  • If image height exceeds 720px, scales down proportionally (e.g. 4000×3000 → 960×720)
  • Exports as WebP at 90% quality for maximum browser compatibility and compression

Both pipelines run entirely in your browser tab. No data ever leaves your device.

Privacy & Data Policy

  • datclean is built privacy-first by design. There are no databases, no analytics, no tracking, and no servers receiving your data.
  • We do not collect, store, or receive any information about you or your files.

Made with love for love. 💚

About

Clean your photos. Protect your privacy.

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages