QR codes are essentially 2D matrix images that can be easily displayed physically on printed media or digitally on a screen. Their popularity is due to their fast readability and storage capacity. Applications vary widely from product tracking and identification to entertainment, advertising, encryption, and payment. In this work, we explore a novel representation of QR codes as 3D structures that are embedded on arbitrary shapes. Specifically, our method physically prints the 3D QR-code representation on a given region on the shape. Thus, in comparison to paper printed QR-codes, our 3D QR-codes are more resilient and reliable (e.g. harder to break and reproduce). 3D QR-codes are computed from their 2D counterpart as a carefully designed set of carved geometry modules on the surface which encode the black-and-white QR pattern. At the core of our method, we utilize self-shadows which are cast by 3D geometry modules on the surface to generate a correct black–white pattern with adequate contrast which can be easily decoded by standard QR readers. Our technique allows embedding 3D QR-codes on arbitrary objects with minimal modification of the shape and even on thin shell surfaces or highly curved ones. Our technique is robust to lighting environments and scanning angles and allows to easily decode 3D QR-codes with similarity to the 2D version. Finally, we demonstrate our technique feasibility by fabricating a wide range of examples using consumer-level 3D printers and common homogeneous materials. The feasibility and robust readability make 3D QR-codes a good candidate for embedding information on physical objects and open interesting directions in 3D manufacturing such as 3D printed objects ownership and 3D watermarking.