Zemach is a Hebrew word signifying 'branch', 'sprout' or 'shoot', metaphorically also growth, a new start, future hope, and biblically - the coming of the Messiah.
It can occur as a surname.
It can also be spelled Tsemach, Tzemach, Tsemah etc.