Roti est le mot hindi, ourdou et malais pour le pain, et plus généralement pour les plats à base de pain, les sandwiches et les pancakes. « John » serait lié à l'origine occidentale de la baguette et la sauce tomate utilisée dans le plat.
Ce sandwich est créé en 1976 par un trader originaire de Tanjung Kling (Malacca).
La viande émincée, les œufs et les oignons sont frits dans une poêle puis placés dans une baguette. Celle-ci est ensuite rapidement frite dans la poêle et est servie après avoir été coupée en plusieurs morceaux. La baguette peut aussi être préalablement trempée dans les œufs battus avant d'être frite.