A method to obtain nanofibers and complex nanostructures from single or multiple extracellular matrix proteins is described. This method uses protein-surface interactions to create free-standing protein-based materials with tunable composition and architecture for use in a variety of tissue engineering and biotechnology applications.