From Middle High German egen, *ecken, from Old High German eggen, ekken, ultimately from the root of Ecke (“corner, edge”).
The modern consonantism -gg- instead of expected -ck- is most readily explained as Low German as some sources do, but this seems not generally accepted (compare Middle Low German eggen).