Sparse sensor arrays have attracted considerable attention in various fields such as radar, array processing, ultrasound imaging and communications. In the context of correlation-based processing, such arrays enable to resolve more uncorrelated sources than physical sensors. This property of sparse arrays stems from the size of their difference coarrays, defined as the differences of element locations. Hence, the design of thinned arrays with large difference coarrays is of great interest. In addition to the difference coarray, other array properties such as symmetry, robustness and array economy are important in different applications. Such design tasks lead to combinatorial problems which are generally NP-hard. For small arrays these optimization problems can be solved by brute force, however, in large scale they become intractable. In this paper, we introduce a fractal array design in which a generator array is recursively expanded according to its difference coarray. Our main result is that for an appropriate choice of the generator such fractal arrays exhibit large difference coarrays. Furthermore, we show that the fractal arrays inherit their properties from their generators. Thus, a small generator can be optimized according to desired requirements and then expanded to create a fractal array which meets the same criteria. This approach provides a simple and efficient way for designing large scale sparse arrays with specific properties.