Boxing in .NET is the process of converting a value type (such as int or struct) to a reference type (object). When you box a value, the CLR creates a new object on the heap and copies the value type's contents into it. This is different from simply encapsulating an object (which is already a reference type).