Use the menu option in the Arduino IDE:
Sketch ► Export Compiled Binary
Well, since it was bumped it's worth mentioning there is a new way to do this added in Arduino IDE 1.6.5:
- Sketch > Export Compiled Binary
- If you are doing this with an example then you will be prompted to save the sketch in another location.
- Wait until the sketch has finished compiling.
- Sketch > Show Sketch Folder
- The .hex file will be in the sketch folder
Here is a screenshot for OS X:
There is no need to fully compile, a simple verify will suffice. From post #10:
Reopen Arduino, and open a sketch of your choice (use the Examples->Digital->Blink if you have no other sketches). Hit the Verify button to compile the sketch. Now, navigate to the build.path folder. You should see a bunch of files including one with a .hex extension.
If using an older version of the Arduino IDE, from post #12:
Try this if using an older version of Arduino