V matematice označuje homomorfismus zobrazení mezi dvěma strukturami, které respektuje jejich vnitřní pravidla. Provedete-li nejdřív příslušnou operaci v původním systému a teprve potom prvky převedete, vyjde totéž, jako když nejprve převedete prvky do druhého systému a operaci uděláte až tam. Jde tedy o způsob, jak formálně popsat strukturální příbuznost dvou systémů, přitom zobrazení nemusí být vzájemně jednoznačné, na rozdíl od isomorfismu.
V logice a teoretické informatice se tím myslí převod mezi formálními objekty, například mezi výrazy nebo řetězci, který zachová způsob jejich skládání a vztahy mezi částmi. Díky tomu lze různé reprezentace téhož problému porovnávat, převádět mezi nimi důkazy či vlastnosti a pracovat s modelem tak, aby se při překladu neztratila jeho podstatná struktura.