Hot answers tagged pinyin
I suggest that you shouldn't do this. Chinese characters cannot be faithfully constructed backwards from a tone+syllable combination -- the mapping only goes one way (and even then, sometimes characters have multiple pronunciations). For example, as you know, 馬 is generally pronounced ma3. However, ma3 could also reference the characters 碼 (number), or 獁 ...
You kind of hit a snag without knowing Chinese characters (hanzi), because there are so many homophones in chinese, especially without tones. In your example of 吗 and 马, they both have different tones which you don't type at all, and actually typing ma for me gives about 15 different characters to choose from. In fact, even words like 终止 and 中止 sound ...
I would recommend Google Pinyin which I use everyday: https://play.google.com/store/apps/details?id=com.google.android.inputmethod.pinyin
This is why you have to learn the actual characters first, and read and write in the actual characters. Pinyin helps indicate the pronunciation, nothing more. There is no tool that can help you distinguish between hundreds of characters equally represented by one string of Roman letters.
Only top voted, non community-wiki answers of a minimum length are eligible