This app is pretty accurate. I have used it at the same time I have used medical heart rate monitors and the numbers are always close, very close. The app is free for those that wish to try it out, but if you prefer your apps to be ad free then there is a $0.99 paid version with more features.
What the developer says about the app:
Turns your phone into a heart rate monitor. Quick and accurate. NOTE: Works best on devices with flash. On other devices it has to be used with good lighting.
The app can be found at Google Play:
Instant Heart Rate
I believe that there is a version at the iTunes App Store as well.