合同定金和订金主要区别在于法律性质、功能、数额限制和法律后果不同。定金具有担保性质,能约束双方履行合同,有数额限制且违约时适用定金罚则;订金仅为预付款,不具担保功能,数额无明确限制,违约时一般可退还。
法律性质方面,定金是一种担保方式,是为了确保合同的履行而设立的。根据《中华人民共和国民法典》规定,当事人可以约定一方向对方给付定金作为债权的担保。定金合同自实际交付定金时成立。而订金并非一个规范的法律概念,在法律上仅具有预付款的性质,是当事人的一种支付手段,不具有担保性质。
功能方面,定金的主要功能在于担保合同的履行。给付定金的一方按照合同约定履行义务后,定金可以抵作价款或者收回;若不履行约定的债务,无权要求返还定金;收受定金的一方不履行约定的债务,应当双倍返还定金。这就是所谓的定金罚则。而订金的功能主要是为合同的履行提供一定的资金支持,当合同正常履行时,订金可以抵作价款;若合同未能履行,收受订金的一方应如数退还订金。
数额限制方面,定金的数额由当事人约定,但不得超过主合同标的额的百分之二十,超过部分不产生定金的效力。实际交付的定金数额多于或者少于约定数额的,视为变更约定的定金数额。而订金的数额则由当事人自行协商确定,法律没有对其数额作出明确的限制。
法律后果方面,如前文所述,定金罚则是定金的重要法律后果。而订金在合同违约时,一般不适用类似定金罚则的规定。如果支付订金的一方违约,通常可以要求返还订金;如果收受订金的一方违约,只需原数返还订金即可,无需双倍返还。

法律依据:
《中华人民共和国民法典》 第五百八十六条
当事人可以约定一方向对方给付定金作为债权的担保。定金合同自实际交付定金时成立。
定金的数额由当事人约定;但是,不得超过主合同标的额的百分之二十,超过部分不产生定金的效力。实际交付的定金数额多于或者少于约定数额的,视为变更约定的定金数额。
《中华人民共和国民法典》 第五百八十七条
债务人履行债务的,定金应当抵作价款或者收回。给付定金的一方不履行债务或者履行债务不符合约定,致使不能实现合同目的的,无权请求返还定金;收受定金的一方不履行债务或者履行债务不符合约定,致使不能实现合同目的的,应当双倍返还定金。