StealthHumanizer
July 3, 2026 · View on GitHub
StealthHumanizer
Free, open-source AI text humanizer. No login. No limits.
Transform AI-generated text into natural, human-like writing using multi-pass rewriting, style-aware processing, and statistical fingerprint disruption.
If this saves you money on paid humanizers, consider giving it a star -- it helps others find it.
Try it now: stealthhumanizer.vercel.app -- paste AI text, click humanize. Done. Zero config: the public deployment ships with Rudra's Free Usage Model as the default.
Rudra's Free Usage Model
Starting with v2.4, the hosted app ships with a free, pre-configured model — no API key needed from you. Just paste text and click Humanize. Auto-routing by input length picks the best backend:
- Short text (≤150 words) →
cive202/humanize-ai-text-bart-large(BART, 406M, sub-1B). Purpose-built humanizer backed by a peer-reviewed paper (Paneru 2026, BERTScore 0.924). Latency ~5–12s. Preserves length and facts on paragraphs, abstracts, social posts. - Long text (>150 words) →
gemma3:4bvia Ollama (4B params). The only faithful option for full essays, LORs, dissertations. Latency ~25–90s on free ARM CPU. (No sub-1B model can faithfully rewrite long form — every alternative tested either summarized, hallucinated fake facts, or degraded into repetition.) - AI Detector:
fakespot-ai/roberta-base-ai-text-detection-v1(RoBERTa-base, 125M params) — runs automatically after every humanize and shows the verdict inline below the result. - Hosting: maintainer's free Oracle Cloud ARM (Ampere A1) VPS. ~70ms detect.
- Privacy: your text goes straight from the Vercel frontend to the Oracle VPS over HTTPS. The API keys live in Vercel env vars and never reach the browser.
Want to use it on your own deployment? Set these three env vars (see .env.example):
RUDRA_API_BASE_URL=https://129-159-229-170.sslip.io
RUDRA_HUMANIZER_API_KEY=...
RUDRA_DETECTOR_API_KEY=...
Prefer a different default? Set NEXT_PUBLIC_DEFAULT_PROVIDER=gemini (or any other provider id).
Backend swap note (v2.4.0 → v2.4.1 → v2.4.2):
- v2.4.0 used
amicus-humanizer-v1-onnx(T5, 60M) — produced lossy 19-word summaries. Swapped out.- v2.4.1 used
gemma3:4bfor everything — slow on short text.- v2.4.2 auto-routes:
cive202/humanize-ai-text-bart-large(406M sub-1B specialized humanizer) for ≤150 words,gemma3:4bfor long text. The only honest mapping of "fast sub-1B where safe, faithful larger model where required."
What's new in 2.3
A focused quality + reliability pass. The headline change: the output no longer breaks.
- Natural, complete sentences. Rewrote the re-humanize prompt and removed the post-processing steps that injected orphan fragments ("Honestly?", "But get this—?"), mangled em-dashes into broken punctuation ("word—?" → "word,?"), and force-lowercased proper nouns. Every sentence is now grammatical and complete, with a final capitalization safety net.
- Real human tone, less AI footprint. Collocations now respect word boundaries (no more "make easierd"), context-blind swaps like
thing→stuffare gone, and empty AI-phrase replacements no longer leave dangling commas. - GPTZero API scoring removed from the UI. Without an API key it only showed a confusing local fallback — so detection stays local (Human Score, heatmap, readability) and external checks are one-click links to GPTZero, ZeroGPT, and Copyleaks.
- Simpler, calmer UI. Advanced options collapsed by default, the redundant stats grid replaced with a slim footer, cleaner action labels, and no more silent clipboard writes or runaway auto-refine loops. Refinement is now opt-in (button) and bounded.
npm run lintand the CLI runner work again (Next 16 droppednext lint; flat ESLint 9 config added; Windows.mjsCLI spawn fixed).
See the full changelog for details.
Why StealthHumanizer?
AI detectors (GPTZero, Originality.ai, Turnitin) catch AI text through statistical fingerprints:
- Low perplexity — predictable, boring word choices
- Low burstiness — uniform sentence lengths
- AI-typical phrases — "furthermore," "it is important to note," "delve into"
- Rigid structure — same paragraph pattern throughout
StealthHumanizer disrupts all of these signals with a 4-layer pipeline that produces text reading like a real person wrote it.
Features
| Feature | Description |
|---|---|
| 35 AI Providers | Gemini (free), Google Gemini OAuth, OpenAI, Claude, Groq (free), Mistral, Cohere, Together, OpenRouter, Cerebras, DeepInfra, HuggingFace, Cloudflare, ZAI, Codebuff (free), Command Code, OpenCode Zen, OpenCode Go, Ollama, LM Studio, vLLM, and more |
| 4 Rewrite Levels | Light (subtle fixes), Medium (natural rewrite), Aggressive (complete rewrite), Ninja (maximum stealth) |
| 6 Writing Styles | Humanize, Academic, Professional, Casual, Creative, Technical |
| 9 Text Purposes | Essay, Article, Blog, Email, Marketing, Report, Story, Social Media, General |
| 13 Tone Presets | Conversational, Journalistic, Persuasive, Storytelling, Humorous, Analytical, and more |
| Refinement Mode | One-click "Refine further" to push flagged sentences toward a higher human score |
| Style-Aware Processing | Post-processing adapts to academic vs casual context |
| Local AI Detection | 12-metric on-device scoring with confidence intervals, heatmap, and readability — plus one-click links to GPTZero / ZeroGPT / Copyleaks for external verification |
| File Upload | Paste text or upload PDF/DOCX files |
| Grammar Check | Built-in grammar and spell checking |
| 16+ Languages | English, Chinese (Simplified + Traditional), Spanish, French, German, Japanese, Korean, Arabic, Hindi, and more |
| Batch Processing | Humanize multiple texts at once |
| Export | Download as TXT, DOCX, or PDF |
| 100% Private | API keys stored in your browser only. No server-side data storage. |
Supported Providers Matrix
StealthHumanizer fully integrates the following AI providers, matching the provider and capability matrix of the Codex Launcher:
| Provider | API | Works with Codex? |
|---|---|---|
| OpenAI | Responses API | ✅ |
| Gemini CLI OAuth | Code Assist | ✅ |
| Z.AI | Chat Completions | ✅ |
| OpenCode | Chat Completions | ✅ |
| Anthropic | Messages API | ✅ |
| Command Code | Custom /alpha/generate | ✅ |
| Ollama | Chat Completions | ✅ |
| OpenRouter | Chat Completions | ✅ |
| NVIDIA NIM | Chat Completions | ✅ |
| Crof.ai | Chat Completions | ✅ |
| Nous Research | Chat Completions | ✅ |
| Ocenza | Chat Completions | ✅ |
| MiMo | Chat Completions | ✅ |
| Perplexity | Chat Completions | ✅ |
| Cohere | Chat Completions | ✅ |
| Hugging Face | Chat Completions | ✅ |
| Together AI | Chat Completions | ✅ |
| Groq | Chat Completions | ✅ |
| Fireworks AI | Chat Completions | ✅ |
| OpenAdapter | Chat Completions | ✅ |
| Kilo.ai Gateway | Chat Completions | ✅ |
| Freebuff (Free DeepSeek/Kimi) | Freebuff API | ✅ |
| LM Studio (local) | Chat Completions | ✅ |
| vLLM (self-hosted) | Chat Completions | ✅ |
| Google Gemini (API Key) | Chat Completions / SDK | ✅ |
| Mistral AI | Chat Completions | ✅ |
| Cerebras | Chat Completions | ✅ |
| DeepInfra | Chat Completions | ✅ |
| Cloudflare Workers AI | Chat Completions | ✅ |
| Claude Code (CLI) | Claude Code CLI | ✅ |
| OpenAI Codex (CLI) | Codex CLI | ✅ |
How It Works
4-Layer Humanization Pipeline
Input Text → Layer 1: LLM Rewrite → Layer 2: Post-Processing → Layer 3: Multi-Model Chain → Layer 4: Final Polish → Output
Layer 1 — LLM Rewrite: Your chosen AI provider rewrites the text using anti-detection prompts that enforce burstiness, perplexity injection, and structural disruption.
Layer 2 — Non-LLM Post-Processing: 500+ synonym swaps, 230+ collocation replacements, AI vocabulary removal, sentence length manipulation, typographic variation. Style-aware — academic text stays formal, casual text gets personality.
Layer 3 — Multi-Model Chain (Optional): Pass text through multiple AI providers to mix statistical fingerprints. Each model adds different patterns.
Layer 4 — Final Polish: Light cleanup pass. Readability guard ensures quality doesn't degrade.
Detection Metrics
The built-in detector analyzes:
- Perplexity (word choice unpredictability)
- Burstiness (sentence length variation)
- Vocabulary diversity
- AI phrase density
- Passive voice ratio
- Transition word frequency
- Sentence start diversity
- Hedging language
- Quantifier overuse
- Pronoun usage patterns
Quick Start
git clone https://github.com/rudra496/StealthHumanizer.git
cd StealthHumanizer
npm install
npm run dev
Open http://localhost:3000 and add your API key in Settings. Gemini is free — get a key at Google AI Studio.
Or use it live at stealthhumanizer.vercel.app.
💡 Troubleshooting? See our comprehensive troubleshooting guide for common issues and solutions.
CLI
StealthHumanizer now ships an initial command-line interface for local humanization and detector checks.
# Run without installing a global binary
npm run cli -- detect --text "Furthermore, it is important to note that..."
# Humanize from stdin with the Gemini provider
export GEMINI_API_KEY="your-key"
echo "Draft text..." | npm run cli -- humanize --model gemini --level medium
# Read and write files
npm run cli -- humanize --input draft.txt --output humanized.txt --style academic
The package exposes both stealthhumanizer and stealth-humanize binaries
when built or linked:
npm run cli:build
npm link
stealthhumanizer providers
Useful commands:
humanize- runs the full multi-pass rewriting pipelinedetect- scores text with the built-in AI-signal detector, no API key neededproviders- lists provider ids, default models, and API key environment variables
Run npm run cli -- --help for the full option list.
Local CLI-runner providers (no API key)
Two providers run a local CLI you already have logged in, as a subprocess, instead of calling an HTTP API. They use the binary's own auth, so no API key is required:
# Uses your local Claude Code login
stealthhumanizer humanize --model claude-code -i draft.txt
# Uses your local OpenAI Codex login
echo "Draft text..." | stealthhumanizer humanize --model codex
--model claude-codespawns your localclaudeCLI (Claude Code)--model codexspawns your localcodexCLI (OpenAI Codex)- Point at a non-default binary with
STEALTHHUMANIZER_CLAUDE_CODE_BINorSTEALTHHUMANIZER_CODEX_BIN - CLI-only: these are skipped by auto-selection and are not available in the browser or serverless runtimes (they spawn a subprocess). The web API rejects them (including in model chains) so a browser user can't make a self-hosted server spawn its logged-in CLI.
Security note — untrusted input. The text being humanized is treated as untrusted (it can contain prompt-injection). The runners are confined so an injected instruction can't make the agent act:
claude-coderuns with--tools "", which fully disables all tools — it cannot read/write files or run commands. Preferred for untrusted input.codexhas no "disable all tools" switch, so it is confined as tightly as the platform allows:--sandbox read-only(no writes/network), an isolated empty working directory, and no inherited environment. A determined injection could still read absolute paths via a read-only command, so preferclaude-codewhen the input is fully untrusted.
Run npm run test:cli to build the packaged CLI entry point and execute the
CLI regression suite.
Groq (Free) Setup & Demo Walkthrough
This walkthrough is specifically for the Groq (Free) provider flow.
-
Open Settings, then go to Danger Zone and clear old keys if you want a clean reset.

-
In provider selection, choose Groq (FREE).

-
In the Groq settings card, click Get API Key.

-
In Groq Console, create a key (set name + expiration setting).

-
Copy the generated Groq key (usually visible once).

-
Paste it into StealthHumanizer’s Groq API key field and press Save.

-
Click Test Key and confirm the key is valid.

-
Return to provider selection and keep Groq (Free) active.

-
Configure Humanizer options (rewrite level, style, tone, target score, max words).

-
Paste/upload your text and run the pipeline.

-
Review output, re-humanize if needed, and export.

Safety note: Never share API keys in public chats, screenshots, repos, or screen recordings. To remove stored keys, use Settings → Danger Zone → Clear All API Keys.
Comparison
| StealthHumanizer | QuillBot | StealthWriter | Undetectable.ai | |
|---|---|---|---|---|
| Price | Free | $9.99/mo | $19/mo | $14.99/mo |
| Open Source | Yes (MIT) | No | No | No |
| AI Providers | 35 | 1 | 1 | 1 |
| No Login Required | Yes | No | No | No |
| Data Privacy | Browser-only keys | Server-side | Server-side | Server-side |
| Multi-Language | 16+ | Limited | English only | English only |
| Purpose Selector | 9 purposes | No | No | No |
| Style Presets | 6 styles | 4 modes | 3 modes | 3 modes |
| Tone Options | 13 tones | 2 modes | No | No |
| File Upload | PDF, DOCX | No | No | No |
| Batch Processing | Yes | No | No | No |
| Grammar Check | Built-in | Separate tool | No | No |
| Custom Writing Sample | Yes | No | No | No |
| Self-Hostable | Yes | No | No | No |
Architecture
stealthhumanizer/
├── app/ # Next.js app router
│ ├── api/ # API routes (humanize, detect, grammar, upload)
│ ├── layout.tsx # Root layout with SEO + structured data
│ └── page.tsx # Main page
├── components/ # React components
│ ├── Humanizer.tsx # Main humanizer UI
│ ├── BatchHumanizer.tsx # Batch processing UI
│ ├── Detector.tsx # Standalone detector UI
│ ├── Settings.tsx # API key management
│ └── Navbar.tsx # Navigation
├── lib/ # Core logic
│ ├── detector.ts # 12-metric AI detection engine
│ ├── prompts.ts # Anti-detection prompt system (EN + ZH)
│ ├── postprocess.ts # Non-LLM post-processing engine
│ ├── providers.ts # 35 AI provider integrations
│ ├── readability.ts # Flesch, Kincaid, Coleman-Liau metrics
│ └── server/ # Server-side modules
│ ├── humanization-governance.ts # Safety + regression guard
│ ├── model-runtime.ts # Logistic regression scorer
│ └── text-utils.ts # Tokenization utilities
└── public/ # Static assets + style models
Contributing
We love contributions! This is a community project and every PR helps.
Good First Issues
Start with issues tagged good first issue — these are specifically scoped for new contributors.
How to Contribute
- Fork the repository
- Create a feature branch:
git checkout -b feat/your-feature - Make your changes and test locally with
npm run dev - Commit with conventional style:
feat: add your feature - Push and open a Pull Request
Read CONTRIBUTING.md for full guidelines.
Contributors
Tech Stack
- Framework: Next.js 16 (App Router)
- Language: TypeScript
- Styling: Tailwind CSS 4
- Icons: Lucide React
- Charts: Recharts
- Deployment: Vercel
Roadmap
- Browser extension (Chrome/Firefox)
- CLI tool (
stealthhumanizer, initial local/package binary) - Fine-tuned local models for offline use
- Real detector benchmarking dashboard
- API service layer for programmatic access
- Collaborative editing with version history
Star History
Author
Rudra Sarker
Portfolio · GitHub · LinkedIn · Twitter/X
Alternatives (SEO)
If you're searching for any of these, StealthHumanizer is the free, open-source alternative:
QuillBot alternative, Undetectable.ai alternative, StealthWriter alternative, Hix Bypass alternative, Bypass AI detection, AI humanizer free, Humanize AI text free, Free AI detector bypass, Open source AI humanizer, GPTZero bypass, Turnitin bypass, AI text rewriter free, Make AI text undetectable, AI to human text converter
License
MIT License © 2024 Rudra Sarker. Free for personal and commercial use.
More Open Source Projects
| Project | Stars | Description |
|---|---|---|
| EdgeBrain | Edge AI inference — sub-100ms, no cloud | |
| DevRoadmaps | 17 career paths, 1700+ free resources | |
| CodeVista | AI code analysis & security scanner | |
| Nexus Agent | Self-evolving local AI agent framework | |
| MindWell | Free mental health support platform | |
| ScienceLab 3D | 40+ virtual STEM experiments | |
| SightlineAI | AI smart glasses for the blind |
Implemented roadmap capabilities
- Real-time streaming endpoint:
POST /api/humanize/streamreturns Server-Sent Events withprogress,result,error, anddoneevents so web or API clients can show live pipeline status. - Semantic fidelity validation: every humanization result now includes a BERTScore-inspired semantic report with keyword recall, length alignment, sentence alignment, warnings, and a preserved/review/drift verdict.
- Client-side Privacy Mode: the Humanizer UI can run a local deterministic rewrite with no provider API key and no network model call, useful for sensitive drafts or offline local-model workflows.
- Observability & cost dashboard: the Dashboard tab tracks run count, estimated cost, latency, human score, semantic score, and recent run history in browser storage.
- API service layer:
POST /api/v1/humanizesupports programmatic use with optionalSTEALTHHUMANIZER_API_TOKENservice authentication and provider-key environment fallback. - Browser extension starter:
extension/contains a Manifest V3 Chrome/Firefox-compatible companion that sends selected page text to a local or hosted StealthHumanizer instance. - Detector benchmarking dashboard: the Dashboard tab includes a built-in benchmark runner that compares detector scores before and after the offline privacy rewrite.
- Screenshot without Playwright download: use
npm run screenshot -- http://localhost:3000 /tmp/stealthhumanizer-dashboard.pngafter starting the dev server; it uses an installed Chrome/Chromium binary and avoids registry downloads.
More Projects
🗺️ DevRoadmapsFree developer roadmaps 20 career paths, 870+ topics, 1,880+ free resources. |
🧠 EdgeBrainEdge AI inference engine Run ML models locally with sub-100ms latency. |
🤖 awesome-ai-humanizersCurated AI humanizer list Tools, detectors, research papers & resources. |
🔬 ScienceLab 3DVirtual STEM experiments 40+ interactive physics, chemistry & biology labs. |