AI detection that explains its reasoning. Determine if content is human-written, AI-generated, or a collaboration.
Human or AI or Both is a free, serverless AI detection tool that analyzes text to determine whether it was written by a human, generated by AI, or created through human-AI collaboration. Unlike simple binary classifiers, this tool provides detailed explanations of its reasoning and highlights specific passages that exhibit AI or human characteristics.
AI detection cannot be exact. This tool provides probability estimates and pattern analysis, not definitive proof. No AI detector can achieve 100% accuracy because:
Use this tool as one input among many when evaluating content authenticity. The analysis is most useful for understanding why content exhibits certain patterns, not for definitive authorship claims.
This tool uses a two-stage detection system for improved accuracy:
The local detector scans for research-backed AI writing patterns including:
Each analysis returns a Detection Score (0-100, where 0 = definitely human and 100 = definitely AI), a classification (Human, AI, or Collaboration), confidence level, detailed reasoning across multiple detection dimensions, highlighted passages with explanations, and the option to create cryptographic attestations via attest.ink.
After analyzing content, you can create a cryptographic attestation that records the AI/human breakdown. This attestation:
Click "Copy Email Header" to generate a formatted text block suitable for prepending to emails or newsletters, showing the AI/human analysis breakdown.
Use the tool programmatically via JavaScript:
window.whodoneitAnalyze(content, options) — Full analysis (returns Promise)window.whodoneitEmailHeader(content) — Generate email header (synchronous, local only)Options for whodoneitAnalyze:
quick: true — Use local heuristics only (fast, no API call)apiMode: 'puter'|'openrouter'|etc — Select API providerThe tool supports URL parameters for automation and sharing:
?content=your text here — Prefill the content input with text?url=https://example.com/article — Fetch content from a URL on page load&enter — Add this to auto-analyze after loading contentPuter GPT-OSS is the default and is completely free with no API key required. OpenRouter is recommended for users who want access to hundreds of models through a single API key (CORS-friendly). Anthropic, OpenAI, Google Gemini, and Ollama are also supported.
All processing happens through the selected API provider. No data is stored on any server. Local analysis runs entirely in your browser.
python3 -m http.server 8000 then open http://localhost:8000
Powered by Puter.com — free, no API key needed.
Runs locally on your machine — no API key, no data leaves your computer.
Ollama lets you run AI models locally on your own machine. No API key needed, no data leaves your computer, and it's completely free.
Browser requirement: When using Ollama from GitHub Pages (or any HTTPS URL), Google Chrome is required. Safari and other WebKit browsers block HTTPS pages from connecting to local HTTP servers.
curl -fsSL https://ollama.com/install.sh | sh
ollama pull gpt-oss:20b
pkill ollama OLLAMA_ORIGINS=* ollama serve
To make this permanent, add to your ~/.zshrc:
export OLLAMA_ORIGINS=*
Download the installer from ollama.com/download and run it.
ollama pull gpt-oss:20b
Stop-Process -Name ollama -Force $env:OLLAMA_ORIGINS="*"; ollama serve
To make permanent:
[System.Environment]::SetEnvironmentVariable("OLLAMA_ORIGINS", "*", "User")
curl -fsSL https://ollama.com/install.sh | sh
ollama pull gpt-oss:20b
sudo systemctl edit ollama
Add under [Service]:
[Service] Environment="OLLAMA_ORIGINS=*"
sudo systemctl restart ollama
http://localhost:11434Quick: Instant local pattern scan. Full: Deep AI semantic analysis (10-30s).
Use the Quick Analyze button for instant results using local pattern detection only. No API call needed — works offline and gives results in milliseconds.
The gpt-oss-120b model (117B parameters) produces thorough analysis but can take 30-60 seconds. For faster results:
The 20b model is 2-3x faster with slightly lower quality. Both are free through Puter.
You can run GPT-OSS locally for free using Ollama. No API key, no usage limits, no data leaves your computer.
Browser requirement: When using Ollama from GitHub Pages (or any HTTPS URL), Google Chrome is required.
1. Install Ollama:
curl -fsSL https://ollama.com/install.sh | sh
2. Pull GPT-OSS and start with browser access:
ollama pull gpt-oss:20b pkill ollama OLLAMA_ORIGINS=* ollama serve
1. Download from ollama.com/download and install.
2. In PowerShell:
ollama pull gpt-oss:20b Stop-Process -Name ollama -Force $env:OLLAMA_ORIGINS="*"; ollama serve
1. Install and configure:
curl -fsSL https://ollama.com/install.sh | sh ollama pull gpt-oss:20b sudo systemctl edit ollama # Add: Environment="OLLAMA_ORIGINS=*" sudo systemctl restart ollama
3. Click below to switch to Ollama:
Generate a cryptographic attestation for this content based on the analysis. The attestation records the AI/human breakdown and can be independently verified via attest.ink.
Options are restricted based on analysis findings.
Which AI assisted with this content?
Add a cryptographic signature for stronger verification.
This password derives a signing key. Use the same password to verify.