Essay Completion Percentage Calculator
Turn a vague draft into a clear number: 1,250 words against a 2,000-word target is 62.5% complete, with 750 words and 37.5% still to write. Free in your browser.
- Free
- Runs in your browser
- No sign-up
- Your data stays on your device
Run — free
Worked example
- Current word count
- 1,250
- Target word count
- 2,000
- Decimal places
- 2
- Completion percentage
- 62.5
- Percentage still to write
- 37.5
- Words remaining
- 750
- Words over target
- 0
An essay can feel vague and unfinished until its progress is expressed in concrete numbers. This calculator compares the words already in your draft with the target word count, then reports how complete the essay is, how many words remain, and what percentage is still to write. It also handles drafts that have reached or exceeded the target, making it useful for assignments, application essays, reports, dissertations, and any writing project with a defined length goal.
Turn a word-count goal into visible progress
Enter the number of words currently in your draft and the final word-count target. The calculator divides the current count by the target and multiplies the result by 100. For example, a 1,250-word draft against a 2,000-word target is 62.5 percent complete.
It also subtracts the current count from the target to show the words remaining and expresses that gap as the percentage still to write. These related figures answer slightly different planning questions. Completion percentage shows how far you have come, while the remaining percentage and word count describe the work ahead.
You can choose how many decimal places to display when a clean whole number or a more precise result is useful. The calculation is deterministic and uses only the values you supply; it does not inspect, grade, rewrite, or store an essay. Because the input is a pair of word counts rather than the draft itself, you can use the calculator without sharing any writing or personal information.
Interpret the result without mistaking length for quality
A completion percentage measures progress toward a length target, not the intellectual or editorial quality of a draft. Reaching 80 percent does not necessarily mean the assignment is 80 percent finished: research, citation checks, restructuring, proofreading, and formatting may still require significant time. Treat the result as a pacing signal.
If the calculator shows 25 percent still to write, you can divide the remaining words across sections or writing sessions and build a realistic schedule. When the current count equals the target, the percentage still to write and words remaining both become zero. When a draft exceeds its goal, completion can rise above 100 percent, while the remaining figures stay at zero and the words over target field shows the excess.
That distinction is useful because an over-length draft may require cutting even though it has no words left to add. The target reached flag provides a simple value for dashboards, spreadsheets, and automated workflows that need to identify which drafts have crossed their planned threshold.
Use consistent word counts for reliable tracking
For meaningful comparisons, obtain both counts from the same writing application whenever possible. Word processors can disagree about hyphenated terms, numbers, footnotes, citations, and text inside tables, so switching counters midway through a project can create apparent progress that did not come from new writing. Confirm whether an instructor's target includes the title, bibliography, captions, or appendices, then use the matching scope for the current draft.
Set a positive target and enter whole-word counts; negative values, fractions, and a zero target are rejected because they cannot represent a valid essay goal. The calculator supports targets and drafts up to ten million words, comfortably beyond ordinary academic projects while keeping the input bounded. For recurring tracking, record the result at the end of each session.
A series of completion percentages can reveal pace, but the words remaining figure is often better for planning: divide it by the number of available sessions to establish a practical per-session aim.
What you can do with it
Plan assignment writing sessions
Convert the remaining word count into manageable daily or weekly writing goals before a deadline.
Track several student drafts
Use the percentages and target flag in a progress sheet or dashboard without uploading essay text.
Identify an over-length draft
See when the target has been exceeded and use words over target as a concrete editing goal.
FAQ
How is essay completion percentage calculated?
The current word count is divided by the target word count and multiplied by 100. The displayed result is rounded to the requested number of decimal places.
How is the percentage still to write calculated?
Words remaining are divided by the target and multiplied by 100. Once the target is reached, the remaining percentage is zero.
What happens if my essay is over the target?
Completion can exceed 100 percent, words remaining stays at zero, and words over target reports the excess.
Does the calculator judge essay quality?
No. It measures progress toward a word-count target only; it does not evaluate arguments, structure, evidence, citations, or style.
Do I need to paste my essay into the calculator?
No. You only enter two word counts, the words in your draft and the target. The essay itself is never read, graded, rewritten or stored, so no writing or personal information is shared.
Related tools
For developers — API access
Everything on this page is available programmatically. This section is for teams who want to wire it into their own systems; everyone else can just use the tool above.
API endpoint
Prefer to automate it? One authenticated POST creates the task; the result comes back by webhook or a signed link. The same capability also runs here on the web, by email and from Telegram — and soon from our app too.
Call it from your stack
curl -X POST https://api.kit.forhosting.com/edu/essay-completion-percent \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"current_word_count":1250,"target_word_count":2000}'const res = await fetch("https://api.kit.forhosting.com/edu/essay-completion-percent", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"current_word_count": 1250,
"target_word_count": 2000
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/edu/essay-completion-percent",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"current_word_count": 1250,
"target_word_count": 2000
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/edu/essay-completion-percent", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"current_word_count":1250,"target_word_count":2000}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"current_word_count":1250,"target_word_count":2000}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/edu/essay-completion-percent", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Example request
{
"current_word_count": 1250,
"target_word_count": 2000
}Example response
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "edu.essay_completion_percent",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}The API is asynchronous: the call returns a task_id immediately and the result arrives by webhook. Polling is capped at 1 req/s per task.
Pricing
Published price — no tokens, no invented credits. A failed task is never charged.
Errors
| HTTP | Code | Meaning |
|---|---|---|
401 | unauthorized | Missing or invalid API key. |
402 | insufficient_balance | Your balance doesn't cover the task price. |
404 | unknown_type | That task type doesn't exist. |
429 | rate_limited | Too many requests. Use the webhook instead of polling. |
Technical notes
Use consistent word counts for reliable tracking
API calls cost $0.002 each, while the browser version can perform the same arithmetic locally for quick checks.
Technical questions
What does an API request cost?
Each API request costs $0.002. The in-browser calculator is available for quick local calculations.