قراردادها از منظر قانون انواع مختلفی دارند و از جهات گوناگونی می‌توان آنها را دسته‌بندی کرد؛ مثلا برای بعضی از آنها در قانون مدنی تعریف مشخصی بیان شده است که به عقود معیّن مشهورند، مانند قراردادهای: بیع (خرید و فروش)، اجاره، رهن، وکالت، قرض، مضاربه، حواله، مزارعه و… و بعضی دیگر از قراردادهایی که بین افراد توافق می‌شوند به قرارداد آزاد یا غیر معیّن معروفند که تعریف خاصی برای آنها در قانون نیامده ولی مفاد آنها نباید با قانون مغایر باشند تا برای طرفین لازم‌الاجرا باشند.

امّا قراردادها از منظر آثار آنها و ذات حقوقی به انواع دیگری تقسیم می‌شوند که در ماده ۱۸۴ قانون مدنی به آنها اشاره شده است: لازم، جایز، خیاری، منجز و معلّق، که مهم‌ترین آنها قرارداد لازم و جایز است؛ عقد لازم عقدی است که پس از انعقاد قرارداد هیچ‌یک از طرفین نمی‌توانند آن را بر هم بزنند مگر در مواقعی که برای فسخ در متن قرارداد شرایطی ذکر شده باشد یا قانون اجازه فسخ قرارداد را داده است، مانند عقد اجاره.

از طرف دیگر قرارداد جایز عقدی است که هر یک از طرفین هر زمان که بخواهد می‌تواند آن را فسخ کند، مانند عقد وکالت؛ امّا قراردادها از نظر تشریفاتی که با آن تنظیم می‌شوند نیز به دو دسته دیگر تقسیم می‌شوند: تشریفاتی و رضایی؛ منظور از عقود تشریفاتی عقودی هستند که در قانون تشریفات خاصی برای انعقاد آنها قرار داده‌ شده مانند قرارداد انتقال حق کسب و پیشه یا تجارت که طبق قانون روابط موجر و مستاجر مصوب سال ۱۳۵۶فقط با تنظیم سند رسمی معتبر هستند و اما عقود رضایی عقودی هستند که به صرف توافق دو طرف و بدون نیاز به رعایت تشریفات خاصی منعقد می‌شوند مانند عقد وکالت که به صرف توافق دو طرف واقع می‌شود.

ممکن است قراردادها در اسناد عادی یا رسمی تنظیم شوند؛ قراردادهایی که در دفاتر اسناد رسمی و در حضور مأموران صلاحیت‌دار تنظیم می‌شوند، رسمی هستند و عقودی که بین دو نفر روی برگه منعقد می‌شوند، عادی نام دارند.