Make AI Text Sound Human: On-Device AI Text Humanization
Score how machine-like your draft reads, then rewrite it word by word — all on your own device. How a rules engine, Chrome’s built-in AI, and a local 1.5B-parameter language model work together, and why no AI detector should be trusted as a verdict.
You wrote something — or a model wrote something for you — and it reads like a machine produced it. The sentences are all the same length. The openers are “Moreover”, “Furthermore”, “Additionally”. The vocabulary is wide but lifeless. It is technically correct and somehow recognizably not human. An AI detector flags it. A reader’s eyes glaze.
The fix used to mean pasting your text into a cloud rewriter that uploads every word you typed — including the drafts you are not ready to share, the confidential memos, the unfinished arguments. A browser-based humanizer changes the architecture: the text is analysed and rewritten inside the tab, with no server in the pipeline. This guide covers what the three engines actually do, how the AI score is calculated, and the honest limits of treating “human-like” as something you can measure.
Three engines behind one interface
The tool offers three rewriting engines, each with a different trade-off between quality, speed, and download cost. All three run on-device; none of them uploads your text.
| Engine | Download | How it works | Best at |
|---|---|---|---|
| Rules | None | Pure deterministic text processing. Rewrites known AI-tell phrasing, breaks uniform sentence rhythm, varies openers, shifts passive constructions to active. No model, no inference, no download — instant. | Quick fixes. Removing the most obvious machine patterns without restructuring the text. Works offline, on any browser. |
| Built-in AI | None | Uses Chrome’s built-in language model (Gemini Nano, via the LanguageModel API available in Chrome 127+). The model is already embedded in the browser, so there is nothing to download — generation starts immediately and stays on-device. | Natural rewrites that preserve meaning while varying structure. Available only in Chromium browsers that ship Gemini Nano. |
| Local LLM | ~1 GB | A local language model — Qwen2.5 1.5B-Instruct or SmolLM2 1.7B-Instruct, quantized to 4-bit — loaded through Transformers.js on WebGPU, with a WASM fallback. Downloaded once, then cached for offline use. | The highest-quality rewrites. Can restructure paragraphs, vary tone, and produce genuinely different phrasing. Slower than the other two engines. |
The tool is honest about which engine it is using. If you select the local LLM but it fails to load (insufficient memory, no WebGPU, a corrupted cache), it falls back to the rules engine and tells you it did, rather than silently producing a lower-quality result and presenting it as the best available.
One subtlety: Expand mode (which adds supporting detail) cannot be done by the rules engine — rules can rearrange existing text but cannot generate new content. If you select Expand with the rules engine, the tool automatically switches to a model-based engine rather than producing nothing.
The AI score: six signals, not a verdict
Before and after rewriting, the tool shows an AI score — a percentage that estimates how “machine-like” the text reads. It is computed from six independent signals, each shown as its own bar so you can see exactly which signal is dragging the score up:
- Burstiness (highest weight: 0.22) — the variation in sentence length. Human writing is bursty: a short sentence. Then a longer one that develops the point with a subordinate clause. Then a medium one. Machine writing is uniform: every sentence is roughly the same length, because the model has learned a comfortable output rhythm. Low burstiness is the single strongest signal that text was generated by a language model.
- Predictability (weight: 0.20) — how often the next phrase is the one you would expect. Language models are trained to predict the next token, which means they gravitate toward the most probable phrasing. Human writers choose less obvious words more often. High predictability means the text reads like the model’s first guess at every word.
- Vocabulary range (weight: 0.14) — the diversity of word choice. AI text often uses a wide but generic vocabulary: “multifaceted”, “leverage”, “comprehensive”. These are real words, but they cluster in a narrow band of formality that humans rarely sustain.
- Active-voice ratio — how many sentences are in active voice versus passive. Language models overuse passive constructions (“It is important to note that…”) because they sound formal without committing to a specific actor.
- Opener variety — how many sentences begin with the same word or structure. AI text opens sentences with “Moreover”, “Furthermore”, “Additionally” in rotation. Human writers start sentences with the subject, with a time reference, with a question, with a conjunction — more varied.
- AI-tell vocabulary — the presence of specific phrases that are disproportionately common in AI-generated text. These are not forbidden words — humans use them too — but a high density of “delve into”, “in the realm of”, “a testament to”, “foster”, “leverage” in the same document is a statistical signal. The flagged-phrase list lets you swap individual terms for suggested alternatives without rewriting the whole paragraph.
Treat this as a writing signal, not a verdict. AI detectors disagree with each other and with themselves — the same text scored by two detectors can get “98% human” from one and “87% AI” from the other. A low score on this tool means the text carries fewer of the surface patterns those detectors look for, not that any particular detector will clear it. The score is a guide to where your text has machine-like patterns, not a guarantee of what a third-party tool will say.
Modes: what each one does to your text
- Humanize strips the machine rhythm. This is the default: it targets burstiness, opener variety, and AI-tell vocabulary, producing text that reads more naturally while keeping the same meaning.
- Polish fixes flow while keeping your voice. It is lighter than Humanize — it cleans up awkward transitions and tightens phrasing without restructuring the argument.
- Expand adds supporting detail without inventing facts. This mode requires a model engine (not rules), because it generates new sentences. The model is instructed to elaborate on existing points, not to introduce new claims — but always verify the expanded text against your source knowledge.
- Shorten cuts redundancy. It removes filler, consolidates repeated points, and tightens the prose. Useful when a draft has been padded to hit a word count.
Two further controls shape the output: tone (as-is, academic, professional, or casual) and intensity (light to aggressive). Intensity controls how far the rewrite is allowed to move from your original wording — light stays close to the source, aggressive restructures freely. For drafts where accuracy matters more than style, light intensity with Polish mode is the safe combination. For marketing copy where voice is the product, aggressive Humanize with a professional tone is the starting point.
The word-level diff: verify every change
Every engine is instructed to preserve facts, numbers, and names — but a language model can still drift. A date becomes a different date. A name is subtly altered. A claim is rephrased in a way that changes its meaning. The tool’s defence against this is the word-level diff: after the rewrite completes, the output is compared to the input token by token, and every insertion, deletion, and unchanged segment is highlighted.
This is not a cosmetic feature. It is the reason you can trust the tool with factual content: you do not have to read the entire rewrite and compare it against the original in your head. You scan the diff for changed words and verify each one. If the model rewrote “2024” as “2023”, you see it immediately and fix it before the text leaves your hands.
The diff is computed using a word-level longest common subsequence (LCS) algorithm, which is why it only runs when the model is not actively generating — computing it on every streaming token would be too expensive. During generation, the output is shown as plain text; once generation completes, the diff appears.
Long documents: chunked with overlap
A ten-page draft does not fit in a single model context window. The tool splits long documents into overlapping-by-sentence chunks, processes each part sequentially with a live progress indicator, and streams the result in as it is produced. The sentence-level overlap ensures that a sentence split across a chunk boundary is not lost or duplicated in the output.
The analysis (the AI score) is debounced at 250 milliseconds after the last keystroke, so typing into the input does not trigger a recompute on every character. The diff is similarly deferred until the model finishes — both are performance decisions that keep the interface responsive on long drafts.
What it cannot do
- It cannot fool every detector. AI detectors look for different signals, and some are trained on features this tool does not address (perplexity at the token level, watermark detection, training-data memorization). A lower AI score means fewer surface patterns; it does not mean a specific detector will pass the text.
- It cannot add knowledge. The rewrite works with the text you provide. If your argument is weak, the humanized version is a more naturally written weak argument. Expand mode adds detail, but the detail elaborates on what is already there — it does not introduce new facts.
- The metrics are tuned for English and Chinese. The AI-tell vocabulary, burstiness thresholds, and opener analysis are calibrated for those two languages. Other languages still get full text statistics (sentence count, word count, reading time), but the phrasing analysis is less reliable.
- The local model is ~1 GB. On a device without WebGPU or sufficient memory, the local LLM may fail to load. The tool tells you and falls back to the rules engine — which is instant but produces less sophisticated rewrites.
Why this belongs on your own machine
The text people need to humanize is disproportionately text they are not ready to share: an unfinished essay, a draft pitch, a confidential memo, a cover letter for a job they have not applied to yet. Pasting that text into a cloud rewriter means it exists on someone else’s server, indexed by a retention policy, potentially used for training, visible to the company’s staff.
Running locally, the text is analysed and rewritten inside the browser tab. Nothing is uploaded, stored, or logged. The draft is persisted only in your own browser’s local storage, and can be cleared at any time. Once the optional model is cached, the tool keeps working with the network switched off — which matters if you are writing somewhere without a reliable connection, or simply prefer that your drafts not leave your machine.
Try it with the AI Humanizer — start with the sample text, which is deliberately packed with machine patterns, so you can see the score panel light up immediately. Then paste your own draft, run a rewrite, and use the word-level diff to verify each change. The diff is the fastest way to calibrate how much to trust the model with your specific writing.
Try the tools
Everything described here runs for free in your browser — no sign-up, no uploads. Explore the full matrix of on-device AI tools from the homepage, or read the end-to-end workflows.
Back to the matrix