El atacante sevillano comenzó su andadura en el fútbol de alto nivel en el Sevilla Atlético con 17 años. Con esa edad debutó también con el primer equipo en un encuentro de Copa del Rey. Su debut en LaLiga se produjo en febrero del 2015 vistiendo también la camiseta del Sevilla F.C., con el que hizo su estreno asimismo en la Liga de Campeones. Su proyección le valió para debutar como internacional con la seleccíón española sub-19.
Posteriormente, Juan Muñoz estuvo cedido en el Real Zaragoza, Levante U.D., consiguiendo el ascenso a LaLiga Santander, U.D. Almería y A.D. Alcorcón, donde sumó catorce tantos y se colocó como quinto máximo realizador de la categoría. Tras fichar por el C.D. Leganés en el verano de 2019, fue cedido a la U.D. Almería, marcando nueve goles y repartiendo seis asistencias en el curso 2019/20, para volver al club en la 2020/21.
Delantero que puede jugar como punta aunque prefiere actuar por detrás de otro ariete, tiene movilidad, capacidad de asociación y un gran chut. Desde 2020 forma parte de la plantilla blanquiazul, habiendo alternado titularidades y suplencias en sus dos temporadas como pepinero.
2013-2015: Sevilla Atlético
2015-2016: Sevilla Atlético / Sevilla F.C.
2016-2017: Real Zaragoza / Levante U.D.
2017-2018: U.D. Almería
2018-2019: A.D. Alcorcón
2019-2020: U.D. Almería
2020-2023: C.D. Leganés