The visual appearances of surfaces are influenced by their colour and texture. Although the creation and tuning of structural colours has been realized with nanostructures1,2, achieving dynamic control over visual texture3,4 remains challenging. Inspired by dynamic modulation of cephalopod skin5,6, we develop polymer films with programmable surface textures. We bring these textures to life through immersion in different liquids that cause reversible local swelling/contraction to a degree that is determined by electron-beam irradiation. We show how standard electron-beam patterning tools can spatially encode arbitrary textures that can be hidden and shown on demand. Similarly, by modulating the topography of optical Fabry–Pérot cavities, we create colour patterns that can be continuously tuned with microfluidic control to achieve several distinct appearance states, allowing them to camouflage with different backgrounds. Finally, by creating multilayer devices, we demonstrate independent control of texture and colour in a single device, enabling a higher level of dynamic control over visual appearance.