Programmed self-assembly of strands of nucleic acid has proved highly effective for creating a wide range of structures with desired shapes. A particularly successful implementation is DNA origami, in which a long scaffold strand is folded by hundreds of short auxiliary strands into a complex shape. Modular strategies are in principle simpler and more versatile and have been used to assemble DNA or RNA tiles into periodic and algorithmic two-dimensional lattices, extended ribbons and tubes, three-dimensional crystals, polyhedra and simple finite two-dimensional shapes. But creating finite yet complex shapes from a large number of uniquely addressable tiles remains challenging. Here we solve this problem with the simplest tile form, a 'single-stranded tile' (SST) that consists of a 42-base strand of DNA composed entirely of concatenated sticky ends and that binds to four local neighbours during self-assembly. Although ribbons and tubes with controlled circumferences have been created using the SST approach, we extend it to assemble complex two-dimensional shapes and tubes from hundreds (in some cases more than one thousand) distinct tiles. Our main design feature is a self-assembled rectangle that serves as a molecular canvas, with each of its constituent SST strands--folded into a 3 nm-by-7 nm tile and attached to four neighbouring tiles--acting as a pixel. A desired shape, drawn on the canvas, is then produced by one-pot annealing of all those strands that correspond to pixels covered by the target shape; the remaining strands are excluded. We implement the strategy with a master strand collection that corresponds to a 310-pixel canvas, and then use appropriate strand subsets to construct 107 distinct and complex two-dimensional shapes, thereby establishing SST assembly as a simple, modular and robust framework for constructing nanostructures with prescribed shapes from short synthetic DNA strands.