Quackoria Tools
Talk to the Duck: A Rubber Duck Debugging Page
Explain your problem to a duck, one line at a time. It only asks questions, it never stores a word, and it is surprisingly good at its job.
How to use it
- Type one step of the problem into the box and press Tell the duck, or press Enter. Shift+Enter makes a new line.
- Read the duck's question and answer it with the next step. Say the boring parts — that is where the bug is.
- When you find the answer, press I found it! The duck will take no credit.
- Press Copy what you said to keep your own explanation; it is often the first draft of the bug report. Close the tab and everything is gone.
What rubber duck debugging is
Rubber duck debugging is the programmer’s habit of explaining a problem, out loud and in full, to an object that cannot answer — traditionally a rubber duck on the desk. The name comes from a story in The Pragmatic Programmer (Andrew Hunt and David Thomas, 1999), and the method is older than the name: teachers, doctors and engineers have always known that the act of explaining something carefully is where you notice the gap in it.
It works because a bug you are stuck on is nearly always a bug you are thinking about too fast. You know what the code is supposed to do, so you read what it is supposed to do, not what it says. Explaining it to a duck forces you to slow down to speaking pace and to say the boring parts, and the boring parts are where the mistake is. The running joke among programmers is that the problem turns up before the sentence is finished. The duck does not need to understand. It needs to be listened to.
How this page works
The duck at the top asks questions. Type one step of your problem, press Tell the duck, and it replies — with a question, never an answer, because it does not have any. If you say what the code should do, it asks what the code actually does. If you mention an error, it asks you to read the first line of it word for word. If you say “it worked yesterday”, it asks what changed. If you type a question mark, it points out that you are asking a duck. When nothing you say matches a rule, it works through a list of the questions a good colleague would ask: what did you expect, where do you last know it was right, what is the smallest input that still fails.
There is no artificial intelligence behind it and no model of any kind. Every reply is one of a few dozen sentences written in advance and chosen by simple rules. That is deliberate. A clever assistant would try to solve the problem for you, and the whole point of the duck is that you solve it, by hearing yourself describe it. The duck’s questions are only there to keep you talking.
When you find the answer, press I found it! and the duck will take no credit. You can copy what you told it, which is often a decent first draft of the bug report or the commit message.
Nothing you type leaves the page
Nothing you write here is stored, logged or sent anywhere — not to this site, not to any service. The site’s analytics only counts that the tool was used, by its name, never a word of what you typed. The conversation exists only in your browser tab, and closing or refreshing the tab deletes it. That is why there is no “save” button and no history: the page is built so that pasting a stack trace with a customer’s data in it costs you nothing. If you want to keep what you said, copy it before you leave.
It is not only for code
Programmers made the duck famous, but the method is general. An essay whose argument will not come together, a spreadsheet giving the wrong total, a decision you keep circling, a recipe that fails on the third attempt: all of them respond to being explained slowly to something that will not interrupt. Students use it for revision — if you cannot explain it to the duck, you do not know it yet. The duck’s rules are written in plain language, and it will ask you what changed since the last time it worked whether “it” is a build script or a sourdough starter.
Why a duck
Because a duck is exactly the right amount of ridiculous. Explaining a serious problem to a serious object feels like talking to yourself; explaining it to a duck is obviously a game, which makes it easier to do out loud and easier to keep doing when the first explanation did not help. Real ducks, for what it is worth, are excellent listeners in the same way: they will watch you attentively for as long as you might be about to produce peas. Why ducks quack explains what the real ones are saying back, and how ducks see explains why one always seems to be watching you from the side.
If the duck has helped and you would like to give it a name, the duck name generator will suggest one, with a surname. If it has not helped, the problem may simply need a walk — and a duck’s approach to rest, one half of the brain at a time, is at least a reminder that the other half can keep working.
Frequently asked questions
What is rubber duck debugging?
Explaining a problem out loud, in full, to something that cannot answer — traditionally a rubber duck on the desk. Saying the whole thing slowly is where you notice the gap in it. The name comes from a story in The Pragmatic Programmer (1999).
Is the duck an AI?
No. Every reply is one of a few dozen sentences written in advance and chosen by simple rules — a question mark gets one reply, the word "should" another, an error message a third. The duck asks; you answer; you solve it.
Is anything I type stored or sent anywhere?
No. The conversation exists only in your browser tab and is deleted when you close or refresh it. Nothing you type is logged by this site or sent to any service, which is why there is no save button; the site's analytics only counts that the tool was used, never what you typed.
Does it only work for programming?
No. Essays, spreadsheets, decisions, recipes — anything you are stuck on responds to being explained slowly to something that will not interrupt.
Why does the duck keep asking what changed?
Because it is the most useful question in debugging. Something that worked and now does not has had something changed — code, data, settings, the machine — and finding it is usually the whole job.
Last reviewed: September 15, 2026
