Make the same prompt cheaper.
Paste a prompt and get a tighter one back: conversational filler stripped, duplicate context removed, static instructions moved first so prompt caching can bite. The token counter is built in: your prompt is counted as you type, with before and after totals and projected savings at your scale. Everything runs in your browser; your prompt never leaves your device.
What the optimizer actually does
Three passes, all mechanical and all visible in the before and after: whitespace and filler phrases are stripped, repeated context blocks are collapsed to one, and the prompt is reordered so static instructions come first and dynamic variables last, which is the structure prompt caching discounts require. It never rewrites your meaning, and it shows its work.
The method behind it is written up in the prompt optimization guide. To price the optimized prompt across every model at your scale, use the cost calculator.
The reordering is worth more than the deletions
Stripping filler is the visible pass and the smaller one. Cutting a polite preamble might take five percent off your input. Reordering the same prompt so that everything fixed comes first and everything variable comes last can take a far larger share off, because prompt caching only discounts a prefix, and only while that prefix is identical byte for byte to the last call. One variable dropped near the top, a timestamp or a user name or a session id, ends the cached region right there and every token after it bills at the full rate, no matter how many thousands of them never changed.
So the shape to aim for is: system instructions, then tool and schema definitions, then any long reference material, then retrieved context, then the user's actual question. That order costs nothing to adopt and does not alter a word of what the model is told. It is the single change with the best ratio of saving to risk in the whole subject, and it is the one this tool exists to make obvious.
When a shorter prompt saves you almost nothing
Two cases, and both are worth knowing before you spend an afternoon here. First, if your prefix is already cached, the tokens you are about to delete are billing at the cache-read rate, which is a fraction of the standard input rate. Cutting a thousand cached tokens saves a fraction of what cutting a thousand uncached ones does, so the same edit is worth much less than it appears. Second, if your workload is output-heavy, the input side may be a minority of the bill to begin with. A summarizer that reads little and writes a great deal cannot be optimized on the input side at all, and the honest advice there is to constrain the length of the answer instead.
The before and after totals on this page are what tell you which case you are in. If the saving looks trivial, that is a real answer and a useful one: it means the money is somewhere else, and the bill audit is the page that finds where.
What it will not do
It does not send your prompt to a model to be rewritten, and it does not paraphrase. Every pass is mechanical and reversible, and both versions stay on screen so you can see precisely what left. That is a deliberate limit: a rewritten prompt is a different prompt, its behavior has to be re-evaluated, and a tool that quietly changes what you are asking for while claiming to save you money is not saving you anything. Shorter is only better when the meaning survived, and the only person who can confirm that is you.
Related: How prompt caching cuts the input bill · Token counter · Estimate a whole project →
Questions this tool tends to raise
Does my prompt get sent to a model?
No. Every pass runs as plain text processing in your browser. Nothing is uploaded, and no model sees your prompt. That is also why the tool never paraphrases: rewriting meaning would require a model, and a rewritten prompt is a different prompt.
It barely shortened my prompt. Did it fail?
More likely your prompt was already tight, which is a useful thing to learn in a few seconds. The savings here come from filler, repetition and ordering. A prompt with none of those has nothing mechanical left to take, and the money is elsewhere in your workload.
Why does moving text around change the price at all?
Because prompt caching discounts a prefix, and only an exactly repeated one. The cached region ends at the first byte that differs from the previous call. Putting the fixed parts first makes that region as long as possible; putting a variable near the top makes it almost nothing.
Will a shorter prompt give worse answers?
It can, and nothing on this page can tell you whether it did. The optimizer removes filler and duplication rather than instructions, but the judgment about whether the meaning survived is yours. Test the shortened version on the cases you care about before you ship it.
Is this the same as compressing context?
No. Context compression usually means asking a model to summarize what has gone before, which costs a call, loses detail, and changes what the model is working from. This is a text pass that removes waste and reorders what is left. The two solve different problems and can be used together.
How do I see what the saving is worth in dollars?
The page shows before and after totals with a projected saving at the scale you set. To compare that saving across every model rather than the one you have in mind, take the optimized prompt to the cost calculator, which prices the same text on every model currently tracked.