We consider the design of practical interleavers for interleaver division multiple access (IDMA) systems. A set of interleavers is considered to be practical if it satisfies two criteria: 1) It is easy to generate (i.e., the transmitter and receiver need not store or communicate many bits in order to agree upon an interleaver), and 2) no two interleavers in the set "collide". We show that a properly defined correlation between interleavers can be used to formulate a collision criterion, where zero-correlation (i.e., orthogonality) implies no collision. Computing the correlation among non-orthogonal interleavers is generally computationally very expensive, so we also design an upper-bounding technique to efficiently check whether two interleavers have low correlation. We then go on to propose several methods to design practical interleavers for IDMA: one method to design orthogonal interleavers, and two methods to design non-orthogonal interleavers (where the upper-bounding technique is used to verify their cross-correlation is low). Simulation results are presented to show that the designed practical interleavers perform as well as random interleavers in an IDMA system.