Here's a relatively easy way to make custom ID badges. You can create custom images for the front and back. Optionally add pictures to make photo IDs. The cost works out to less than a dollar per badge, cheaper if you buy the clips in bulk.
Step 1: Materials
-Full-sheet adhesive labels, preferably glossy (I used LD Glossy Inkjet Sticker Photo Paper)
-Heavy card stock or illustration board (I used Elmer's 14-ply white illustration board)
-Hole punch (not absolutely necessary but handy for cutting the slot)
-ID badge clips ($5 for a set of 10 from office supply store)
Step 2: Print Front and Back Images
The images should be slightly larger than the badge size. I wanted the badge to be 2.5"x4", so I made the images 3"x4.5", giving .25" excess on all four edges.
Avoid putting anything important too close to the edge of the image. Definitely nothing in the .25" border area and probably an extra .125", just to give yourself a bit of room for error.
On the front image, add an area the size and shape of the slot. The slot should be roughly 1"x.25" (minimum .5"x.25"), with rounded ends.
Print the images on full-sheet label paper.
Step 3: Cut Front Image
Cut the front image down to the size of the badge, preferably with rounded corners. I used a cutting template. Not strictly necessary but handy if you're doing several.
Step 4: Add Cardstock
Peel the backing off the front label and apply to a piece of card stock. trim the card stock to the shape of the label.
Tip: Run a knife lightly across the backing (just enough to cut it) to make it easier to peel off.
Step 5: Add Back
Cut the back label to the shape of the image, leaving the .25" excess border. Peel the backing off and place the label face-down. Place the badge face-up, centered on the label. Trim the label down to the badge shape.
Step 6: Cut the Slot
Use a hole punch to cut out the ends of the slot. Use a knife to join the holes and remove the remaining material.
Step 7: Add Clip
Thread a badge clip through the slot and snap together.