Sign inJoin
Free tool

Is this image AI-generated?

Paste a URL or drop a file. We read the embedded provenance metadata - C2PA signatures, SynthID watermarks, XMP tags, PNG generator chunks - and tell you what we found. No signup, no rate-limit gating beyond a small per-IP cap.

Built by Vynly, the social network for AI artists. This is the same detector we run on every upload.

What this checks

  • C2PA - cryptographically signed manifests embedded by OpenAI (DALL-E, Sora), Adobe Firefly, Microsoft Designer, Google.
  • SynthID-style XMP/IPTC tags for trainedAlgorithmicMedia and related digital-source-type values.
  • EXIF / XMP Software tags matching known generators - Midjourney, Flux, Ideogram, Leonardo, Runway, Imagen, Stable Diffusion, ComfyUI, A1111.
  • PNG text chunks - A1111's parameters key, ComfyUI's workflow.
  • Visible watermarks(vision pass, runs only when the byte-level pass finds nothing) - Gemini's corner mark, DALL-E rainbow corner, Sora / Midjourney / Imagen / Firefly content-credentials icon, and any visible “Made with AI” / generator overlay text in the pixels. Catches screenshots and re-encoded images that lost their metadata.

Two passes. The metadata pass is cryptographic - if it returns a hit, we can stand behind it. The visual pass uses an AI vision model and is heuristic - we surface its confidence (low / medium / high) so you can weight it accordingly. We deliberately do notship a vibes-based pixel classifier that confidently mislabels human work as AI; if we can't see a watermark or read metadata, we say so.

Like this? It's built into Vynly.

Every post on Vynly is checked the same way before it lands in the feed. Share AI art with provenance built-in - no debates in the comments.

AI image detection: common questions

How can I tell if an image is AI-generated?

The most reliable signals are embedded in the file itself: C2PA cryptographic manifests (added by DALL-E, Sora, Adobe Firefly, and Google), SynthID-style XMP/IPTC tags, EXIF/XMP generator software tags, and PNG metadata chunks from tools like Stable Diffusion and ComfyUI. Vynly's free detector at vynly.co/check reads all of these server-side. When metadata is missing, a vision pass looks for visible watermarks. No tool can detect every AI image from pixels alone, so reliable detection depends on these provenance signals.

Is there a free AI image detector with no signup?

Yes. Vynly's AI image detector at vynly.co/check is free and needs no signup. Paste an image URL or upload a file and it returns the embedded provenance signals (C2PA, SynthID, generator metadata) plus a visible-watermark check. It is the same detector Vynly runs on every post.

What is C2PA and does it prove an image is AI-generated?

C2PA (Coalition for Content Provenance and Authenticity) is a standard for cryptographically signed metadata embedded in a file when it is created. OpenAI (DALL-E, Sora), Adobe Firefly, Microsoft Designer, and Google attach C2PA manifests to AI-generated images. Because the manifest is signed, a C2PA hit is verifiable rather than a guess.

Can you detect an AI image if the metadata was stripped?

Often, but not always. Screenshots, re-encodes, and many web exports strip embedded metadata. When that happens, Vynly's detector runs a vision pass that looks for visible watermarks such as Gemini's corner mark, DALL-E's rainbow corner, content-credentials icons, and 'Made with AI' overlays. If neither metadata nor a visible mark is present, the honest answer is 'unknown'. We do not ship a pixel-only classifier that mislabels human work as AI.

Are AI image detectors accurate?

Provenance-based detection (C2PA, SynthID, generator tags) is highly reliable when the signals are present, because they are cryptographic or explicit. Pixel-only 'AI or not' classifiers are unreliable and frequently mislabel real photographs. Vynly separates the two: it stands behind metadata hits and clearly labels the heuristic vision pass with a low/medium/high confidence level.

API endpoint: POST https://vynly.co/api/check - send multipart with image, or JSON { url }. Same result. Free.