合同约定违约金超过20%是否有效要看情况。如果是买卖合同的违约金,超过20%但未超过造成的损失的30%的,是有效的。如果超过30%的标准的,则另一方当事人可以请求法院适当减少。
《关于审理商品房买卖合同纠纷案件适用法律若干问题的解释》规定,当事人以约定的违约金过高为由请求减少的,应当以违约金超过造成的损失30%为标准适当减少;当事人以约定的违约金低于造成的损失为由请求增加的,应当以违约造成的损失确定违约金数额。法律依据:《关于审理商品房买卖合同纠纷案件适用法律若干问题的解释》第十二条
当事人以约定的违约金过高为由请求减少的,应当以违约金超过造成的损失30%为标准适当减少;当事人以约定的违约金低于造成的损失为由请求增加的,应当以违约造成的损失确定违约金数额。