Generally Google Speech-to-Text works well. Most of the time it gets it right, for most words, especially if they're common.
You will need to use Chrome on the desktop, or the Google Docs app on a Android or iOS device.
Oh, and it helps if you select the right language / accent, before starting.