Een halfring of ook semiring is een ring, maar zonder de eis dat ieder element een inverse moet hebben voor het optellen. De voorwaarde dat ieder element een tegengestelde heeft komt dus ten opzichte van een ring te vervallen. Iedere halfring is een algebraïsche structuur en iedere ring is een halfring.

Een voorbeeld van een halfring is de booleaanse algebra.