فشرده سازی بی اتلاف داده، کلاسی از الگوریتم های فشرده سازی اطلاعات است که به دست آوردن کامل اطلاعات اولیه را از اطلاعات فشرده شده ممکن می سازد (عینا اطلاعات را باز می گردانند بدون کم و کاست). این کلاس در مقابل "فشرده سازی با اتلاف داده " قرار دارد که به طور تقریبی اطلاعات اولیه را باز می گرداند ولی در عوض نرخ فشرده سازی بالاتری را به همراه دارد. 
فشرده سازی بی اتلاف در بسیاری از برنامه ها کاربرد دارد و در مواردی استفاده می شود اهمیت داشته باشد که اطلاعات اولیه و اطلاعات نهایی خارج شده از حالت فشرده، با یکدیگر کاملا یکسان باشند یا انحراف از اطلاعات اولیه زیان آور باشد. مثال هایی برای آن ، برنامه های اجرایی ، اسناد متنی و سورس کد ها هستند. بعضی از فرمت های عکس مانند PNG یا GIF فقط از فشرده سازی بی اتلاف استفاده می کنند؛ در حالی که بعضی دیگر مانند ، TIFF یا MNG ممکن است از هر دو کلاس فشرده سازی استفاده کنند. اکثر برنامه های فشرده سازی بی اتلاف، دو کار را به ترتیب و متوالی انجام می دهند : قدم اول تولید مدل های آماری برای ورودی، و قدم دوم ، استفاده از این مدل برای نقشه بندی ورودی به توالی بیت ها به نحوی که داده های محتمل (برای مثال دارای بیشترین تکرار) خروجی کوتاه تری از داده های غیر محتمل ایجاد کنند.(به طور ساده از این مدل ها برای کوتاه تر و فشرده کردن اطلاعات استفاده کنند)
متد های فشرده سازی بی اتلاف می توانند بر حسب نوع داده ای که برای فشرده سازی آن طراحی شده اند، دسته بندی شوند. هر چند که در اصل، هر الگوریتم فشرده سازی بی اتلاف همه منظوره ( همه منظوره یعنی که می توانند هر رشته ی بیتی را فشرده کنند..) می تواند برای هر نوع داده ای استفاده شود؛ اما بسیاری نیز در فشرده کردن اطلاعاتی که برای آنها در نظر گرفته نشده اند ، ناکارامد هستند. از نمونه های متد های فشرده سازی بی اتلاف اطلاعات می توان به کدینگ "هافمن" (huffman codding) و کدینگ "لیمپل زیو" (lempel-ziv codding) اشاره کرد که خود دارای زیر مجموعه ها و شاخه های متعددی هستند..