How it works
What happens to your document between dropping it in and getting it back.
You could paste your document into a chatbot and ask it to highlight the code. People do. This page is the honest case for not doing that — including the places where the chatbot wins.
Nobody needs another page claiming AI is bad. It is not. It is a general tool aimed at a specific job here, and the mismatch shows up in ways that only become obvious after you have lost an afternoon to it.
The job is narrow: find the code inside a document and colour it, without touching anything else. That is a recognition problem with a right answer, not a writing problem. What follows is what changes when you solve it with an algorithm instead of a model.
The short version
A chatbot rewrites your document. This edits it. A chatbot forgets the beginning of a long file. This does not read it in pieces. A chatbot charges per page and gets more expensive every year. This is free and always will be. And a chatbot is confidently wrong in silence, where this shows you a number for every line it was unsure about.
This is the biggest difference and the one people underestimate. A language model
cannot hand you back a .docx. It hands you back text, and you
rebuild the document yourself — fonts, headings, spacing, page breaks, tables,
figure numbers, the lot. A forty-page specification becomes an afternoon of
re-formatting.
Ask for the format you came in with here and the original file is edited in place. Every paragraph that is not code keeps its original bytes: the same font, the same point size, the same spacing, the same style, because those parts of the file are never rewritten at all. Nothing has the opportunity to drift.
Models paraphrase. It is what they are for. Ask one to reformat a document and you will find sentences tightened, a heading reworded, a bullet list "improved", an inconsistency helpfully resolved. Most of the time you will not notice, which is the problem — you are now shipping a document you did not write and have not read.
A detector has no opinion about your prose. It classifies lines and colours some of them. The characters are the characters you gave it.
Hallucination in a chat window is an annoyance. Hallucination inside a document you are about to submit or publish is a different thing entirely. Models fill gaps: a truncated listing gets a plausible closing brace, a missing import appears, a variable gets renamed to something more sensible, an ellipsis in the original is expanded into lines that never existed.
An algorithm cannot do this. It has nothing to generate with. The worst it can do is put the wrong label on a line that was already in your file — and it tells you which lines those probably are.
Every model has a context window. A long document has to be cut into chunks, and the chunks do not agree with each other: the same construct gets treated as code on page four and as prose on page thirty, because by page thirty the model can no longer see page four. You end up stitching the pieces together and reconciling them by hand.
There is no window here. A three-hundred-page document is read in one pass, and a decision made at the end is made with the same information as one made at the start. The whole file gets one consistent treatment.
Run a prompt twice and you get two slightly different answers. That sounds harmless until you re-export a document a week later and it no longer matches the version your colleague has, or you correct a mistake and the correction evaporates on the next run.
This is deterministic. The same file produces the same output today, next month and on someone else's machine. If you are formatting a series — a set of lab handouts, a course pack, a document that gets revised for years — that is the difference between a house style and a lottery.
This one deserves more attention than it gets. When a model is unsure, it does not sound unsure. Every line comes back in the same fluent, assured voice whether it is right or wrong, and there is no way to ask it which parts to double-check that you can actually trust.
Here, every single line carries a confidence figure, and a control in the toolbar jumps straight to the least certain ones. On a typical document that is a handful of lines out of hundreds. You check those, you fix the two that are wrong, you are done — instead of proof-reading the entire file because any part of it might be quietly mangled.
Universities and employers increasingly require you to declare AI assistance, and some coursework rules prohibit passing your own submission through a model at all. Running a document through a formatter is not authorship assistance in any sense that those policies mean — nothing was written, suggested, corrected or improved for you. It is the same category as changing the font.
That distinction is worth having on paper, and it disappears the moment a model touches the text.
The realistic chatbot workflow is not one prompt. It is: paste, get a result with the comments left as prose, explain that, get a result that also swallowed the paragraph above, explain that, get a version where the output of the program is coloured as if it were source, explain that, and eventually copy something usable into Word and spend twenty minutes putting the formatting back.
Here the interaction is: drop the file, look at it, fix anything that looks wrong by selecting it, download. The corrections are two clicks, not a paragraph of English, and they apply to the actual output rather than to a request for a new one.
A model generates its answer one token at a time, and it has to reproduce your entire document to give it back to you. A long file takes minutes of streaming, if it does not time out. Detection reads the whole document in a fraction of a second and the result is on screen before you have finished scrolling.
Good results from a model mean a good model, and good models are the paid ones. Free tiers throttle, queue, downgrade you to a smaller model at busy times, and cap how much you can upload. Meanwhile the compute the industry is buying is getting more expensive, not less, and the direction of travel for pricing is not subtle: things that were free are becoming metered, including simple ones.
This tool costs a fraction of a cent of compute per document, because recognising a pattern is cheap and generating a document is not. There is no account, no trial, no per-page charge and no tier that unlocks the good version. That is a promise the economics can actually keep.
Ask a model for "a different theme" and you are negotiating. Here you pick from eleven IDE themes, choose a code font or supply your own font file, turn line numbers on or off, and re-mark any line as code, terminal output, equation or plain text. Every one of those choices flows straight into the PDF and the Word file.
The result also does not look generated. AI-formatted documents have a recognisable sameness — the same spacing, the same fenced blocks, the same flattened structure. Your document keeps its own layout, because its own layout was never taken away.
On the consumer tiers of the major chat products, what you upload may be used to improve the model unless you find the setting and turn it off. Business and API tiers generally exclude that by contract, but most people are not on those, and a document pasted into a chat window at eleven at night is not a document anyone checked the retention policy for first.
Here the file is sent over HTTPS, held in memory, and deleted — within twenty minutes of your last action, or the moment you close the tab. It is never written to disk, never passed to a third party, and never used to train anything. The privacy page spells out exactly what happens and where.
The one exception is opt-in and narrow. Refine output with AI sends only the specific lines the detector flagged as doubtful — not the file, not the document — to Google's Gemini API, and only when you press it. If your document is confidential, do not press it.
A large model inference is a lot of arithmetic across a lot of accelerators, and those accelerators are power-hungry and, in most data centres, water-cooled. Precise per-query figures are contested and vary enormously by model and provider, so no number is quoted here. What is not in dispute is the ratio: pattern recognition over a few thousand lines of text is arithmetic a laptop would not notice, and generating an entire document token by token is not.
Using the small tool for the small job is not a moral position. It is just correct engineering, and the environmental part follows from it for free.
A quiet thing has happened to the web: an enormous amount of software now exists to feed models, be sold to model companies, or wrap someone else's model in a subscription. This is a small deterministic tool that does one job for a person who has a document in front of them, keeps that document private, and asks for nothing. There is a case for those continuing to exist.
Being honest about this is the point of the page. Use a model, not this, when:
That last case is exactly why the AI review button exists. The right division of labour is not "algorithm or model" — it is algorithm for the ninety-nine per cent that is unambiguous, model for the handful of lines that genuinely are not, and only with your say-so. That is cheaper, faster, more private and more accurate than handing the whole document to either one of them.
The fair test is your own document, not ours. Take a file you have already tried to fix by hand, run it through both, and compare three things: whether the prose came back unchanged, whether anything appeared that you did not write, and how long it took to get to something you would actually send.
What happens to your document between dropping it in and getting it back.
Where the document goes, how long it stays, and what the AI button does and does not send.
Every failure mode found so far, written down rather than hidden.
Worked examples in every supported language, including the cases handled badly.