Functionalization of two-dimensional (2D) materials, such as graphene or transition metal dichalcogenides, is an important feature to tune the physical properties of 2D materials, from stability to processability, with the aim of improving their properties. The most common way to successfully functionalize a 2D material is arguably through reactions occurring in solution. However, as typical 2D materials are very inert compounds from a chemical point of view, the covalent functionalization process requires a lot of energy. Therefore, it is normally an uncontrolled step, thus causing defects, low degree of functionalization and attachment of molecules in random positions. Non-covalent functionalization is also an alternative approach, but it typically lacks long-range order, thus resulting in a material more similar to a composite. Examples of high degree of covalent functionalization in graphene and other 2D materials have been reported in the recent years, revealing the need of very particular conditions for a successful incorporation of different molecular moieties.