合同撤销和无效的主要区别在于其法律效果和原因,合同撤销是指在一定条件下,已经成立的合同被法院宣布废止,双方恢复到订立合同前的法律关系,这通常是因为一方或双方违反了合同的约定,导致合同无法履行或者继续履行可能损害国家利益、社会公共利益等,而合同无效则是指合同从一开始就不存在法律效力,因而不具有约束力,这通常是因为合同的内容违反了法律、行政法规的强制性规定,或者没有合法目的、形式等,简言之,撤销是针对已生效合同的终止,而无效则是针对从未具有法律效力的合同。