合同违约金超过20%有效。法律规定合同违约金超过30%的属于过分高于实际损失,当事人可以请求人民法院或者仲裁机构予以适当减少。所以违约金超过20%是有效的。
根据《民法典》第五百八十五条:当事人可以约定一方违约时应当根据违约情况向对方支付一定数额的违约金,也可以约定因违约产生的
损失赔偿额的计算方法。
约定的违约金低于造成的损失的,人民法院或者仲裁机构可以根据当事人的请求予以增加;约定的违约金过分高于造成的损失的,人民法院或者仲裁机构可以根据当事人的请求予以适当减少。当事人就迟延履行
约定违约金的,违约方
支付违约金后,还应当履行债务。