Cygwin là môi trường *nix trong Windows bằng cách tạo một lớp tương thích. Thông qua đó người dùng Windows có thể chạy các ứng dụng mà vốn vẫn phổ biến trên Linux, Unix sau khi chương trình đó được chuyển qua Cygwin. Hiện nay Cygwin chạy trên các bản chính thức của Windows (cả 32 bit và 64 bit) kể từ Windows Vista. Cygwin bao gồm hai phần:
Một file DLL (cygwin1.dll) đóng vai trò của Lớp tương thích theo hình thức API, cung cấp một nền tảng các tính năng thiết yếu theo chuẩn POSIX. Rất nhiều công cụ, chương trình, môi trường phát triển phần mềm,... của GNU và cộng đồng mã nguồn mở vốn phổ biến trong Linux được chuyển sang để chạy trên nền tảng nói trên. Nghĩa là, Cygwin không phải một môi trường giả lập hoặc ảo hoá: Không thể dùng Cygwin để chạy các chương trình của *nix nguyên bản; các chương trình đó phải được chuyển qua và biên dịch lại trên Cygwin. Cygwin cũng không phải là sự mở rộng Windows để biến Windows thành một thành viên của *nix: Cách quản lý tiến trình, bộ nhớ, thiết bị,... của Windows là giữ nguyên, và Cygwin chỉ là triển khai thêm một lớp tương thích trên đó, để nhờ vậy mà có thể chuyển các chương trình của *nix qua chạy được trên Windows.ws. Cygwin ban đầu được Cygnus Solutions phát triển, và sau đó được Red Hat mua lại. Đây là chương trình miễn phí và mã nguồn mở theo điều khoản bản quyền GPL. Hiện nay nó được duy trì và phát triển bởi các nhân viên của Red Hat, NetApp và rất nhiều lập trình viên tình nguyện khác.