Skip to content

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

  1. Place the duck (or this page) in front of you
  2. Explain your code to the duck, line by line
  3. At some point, you will tell the duck what you are doing and realize that is not what you are actually doing
  4. The duck doesn't need to say anything. You found the bug yourself.
  5. 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.