Rubber Duck
Explain your bug to the duck. The duck listens. The duck judges. The duck quacks.
The duck
The duck is calm and ready to listen.
0
problems quacked at
Your problem
0 characters of pure frustration
How rubber duck debugging works
- Place the duck (or this page) in front of you
- Explain your code to the duck, line by line
- At some point, you will tell the duck what you are doing and realize that is not what you are actually doing
- The duck doesn't need to say anything. You found the bug yourself.
- Thank the duck
This technique has been scientifically proven to work 60% of the time, every time.
Psst... there might be a secret code. ↑↑↓↓←→←→BA
Rubber Duck FAQ
- What is rubber duck debugging?
- A technique from The Pragmatic Programmer: you explain your code, line by line, to a rubber duck. Putting the problem into words forces you to check each assumption, and the bug often shows up mid-sentence.
- Is what I type sent anywhere?
- No. The duck runs entirely in your browser. Your quack count and a short snippet of your last few problems are kept in localStorage on this device only.
- Does the duck actually understand my code?
- No — and that is the point. Its replies are canned (with a few keyword-based jokes); the useful work happens while you explain the problem clearly.
- Can I turn off the animations and sound?
- Animations follow your system's reduced-motion setting: with it on, the wobble, screen shake, spinning and confetti are skipped. The quack sound only plays when you press the duck or the Quack button.