This paper presents a hierarchical designing strategy for constructing traceability codes, Traceability codes enable us to trace traitors of collusion attacks in the fingerprinting scheme. To increase the size of the customer base n and the collusion resilience c, the length of the traceability codes grow abruptly. However, in many fingerprinting applications, e.g. multimedia fingerprinting, large customer bases and collusion resilience are needed. As a result, the long-length fingerprinting codes become impractical because they are too long to be embedded in the content without damaging the transparency. The proposed hierarchical fingerprinting scheme divides the fingerprint-codeword into several hierarchies and encodes each hierarchy by traceability codes with smaller n and c, thus a traceability code with much shorter codeword-length is obtained. The user-management mechanism in broadcast encryption can also benefit from this hierarchical fingerprinting structure.