OverlayCheck vs FotoForensics: In-Browser Error Level Analysis Comparison
Compare OverlayCheck and FotoForensics for Error Level Analysis (ELA). Discover why in-browser processing preserves privacy and evidentiary chain of custody.
OverlayCheck performs Error Level Analysis (ELA) entirely inside your browser memory using OffscreenCanvas 2D, transmitting 0 bytes across the network. Unlike FotoForensics, which uploads your photos to a remote server and indexes hashes publicly, OverlayCheck guarantees complete evidentiary privacy and real-time interactive quantization adjustments.
Head-to-Head Architectural Breakdown
| Evaluation Criteria | OverlayCheck | FotoForensics |
|---|---|---|
| Cloud Upload & Server Ingestion | 0 bytes (100% In-Browser Memory) | Transfers full-resolution image to remote servers |
| Public Hash & Gallery Indexing | None (Zero persistent storage or logging) | Calculates public hashes; photos may be indexed publicly |
| Interactive Quantization Adjustment | Live 50%–98% slider with instant re-render | Static single-pass output; re-upload needed for changes |
| Evidentiary Chain of Custody | Preserved (Data never touches third-party infrastructure) | Broken (Evidence leaves investigator boundary) |
| Loupe & Split-Screen Comparison | Interactive real-time split wiping loupe (0ms delay) | Side-by-side static thumbnails |
| Pricing & Usage Limits | 100% Free & Unlimited (No account required) | Free tier with upload throttling & paid Lab subscriptions |
Deep-Dive Architectural Analysis
The Evidentiary Risk of Cloud Image Forensics
Why uploading investigative imagery to remote servers poses severe legal and OSINT liabilities.
When analyzing suspected forgeries, altered invoices, or sensitive whistleblowing evidence, sending raw images to third-party cloud services breaks the investigative chain of custody. FotoForensics records image hashes and may expose uploads to public analysis queues. OverlayCheck computes the JPEG compression delta directly within browser heap memory using HTML5 Canvas, ensuring that confidential documents, medical scans, and legal evidence never leave your physical workstation.
Real-Time Quantization Tuning vs. Static Cloud Renders
How interactive sliders reveal subtle splicing that fixed-quality passes miss.
Error Level Analysis relies on comparing an image against a re-compressed JPEG baseline. In FotoForensics, you receive a static result based on a fixed quality setting. OverlayCheck allows investigators to drag quality sliders from 50% to 98% and adjust the error multiplier from 10x to 50x in real time, exposing subtle airbrushing and gradient mismatches across variable compression blocks without waiting for server round-trips.
Offline & Air-Gapped Readiness
Perform forensic evaluations in zero-connectivity or classified environments.
Because OverlayCheck requires zero backend API communication after the page loads, security personnel can inspect images in air-gapped environments or behind strict corporate outbound proxy firewalls where external image uploads are blocked by DLP (Data Loss Prevention) policies.
You can also compute ELA locally using Python with Pillow and NumPy:
from PIL import Image, ImageChops, ImageEnhance
def compute_ela(image_path, quality=90, multiplier=20):
im = Image.open(image_path).convert('RGB')
im.save('temp_compressed.jpg', 'JPEG', quality=quality)
comp = Image.open('temp_compressed.jpg')
ela = ImageChops.difference(im, comp)
extrema = ela.getextrema()
max_diff = max([ex[1] for ex in extrema]) or 1
scale = 255.0 / max_diff
return ImageEnhance.Brightness(ela).enhance(scale)Requires Python 3.8+ with Pillow installed. OverlayCheck replicates this process in browser memory via OffscreenCanvas.
Try Error Level Analysis (ELA) Studio
100% in-browser execution with pre-loaded demo samples. Zero registration, zero paywalls.
Frequently Asked Questions
Does FotoForensics store my uploaded photos?
FotoForensics computes cryptographic hashes of uploaded images and stores them on their servers. Uploaded images may appear in public search indexes if privacy flags are not explicitly purchased.
How does OverlayCheck perform ELA without a server?
OverlayCheck loads your image into an HTML5 OffscreenCanvas in browser memory, compresses it to an in-memory JPEG blob at your specified quality percentage, reads back the re-quantized pixel buffer, and subtracts the RGB deltas pixel-by-pixel using TypedArrays.
Is Error Level Analysis proof that an image is fake?
ELA is a heuristic detector, not definitive legal proof. It highlights areas of differing compression error rates. High ELA contrast indicates that a region has undergone different compression cycles, which is common in copy-move splices, text insertions, and airbrushing.