要约的撤回和撤销主要区别在于发生时间、法律后果和限制条件等方面。撤回是在要约生效之前阻止其生效,撤销是在要约生效后使要约失效。
一、发生时间不同。要约的撤回发生在要约到达受要约人之前或者与要约同时到达受要约人。这意味着在要约尚未对受要约人产生法律上的效力时,要约人就可以采取行动阻止要约生效。例如甲向乙发出一份书面要约,在信件寄出后但还未到达乙时,甲可以撤回该要约。而要约的撤销则是发生在要约已经到达受要约人并生效之后,但受要约人尚未作出承诺之前。如甲的要约已经到达乙,在乙还未作出承诺的这段时间内,甲有可能撤销该要约。
二、法律后果不同。要约撤回的法律后果是要约自始不发生效力,即要约如同从未发出过一样,受要约人不会基于该要约产生任何权利和义务。而要约撤销后,要约的效力消灭,受要约人原本基于该要约可能享有的权利也随之消失。不过,如果受要约人已经基于对要约的信赖做了一些准备工作等,要约人可能要承担相应的赔偿责任。
三、限制条件不同。对于撤回要约,一般没有严格的条件限制,只要满足在要约生效前这一时间要求即可。而要约撤销的限制较为严格。根据法律规定,有下列情形之一的,要约不得撤销:一是要约人以确定承诺期限或者其他形式明示要约不可撤销;二是受要约人有理由认为要约是不可撤销的,并已经为履行合同做了合理准备工作。例如甲在要约中明确表示该要约在一个月内有效,那么甲就不能随意撤销该要约。

法律依据:
《中华人民共和国民法典》 第四百七十七条
撤销要约的意思表示以对话方式作出的,该意思表示的内容应当在受要约人作出承诺之前为受要约人所知道;撤销要约的意思表示以非对话方式作出的,应当在受要约人作出承诺之前到达受要约人。


