All the photos below are of 0.8mm (20 gauge) wire. I have made the catch a little larger than is actually practical for this gauge so that it shows clearly in the pictures.
You will need:
wire - 20 gauge is the thinnest practical, you can go up to whatever gauge you are comfortable working with
needle-nose pliers and snipe-nose pliers (if you only have the needle-nose it’s not a disaster, you can use these)
wire-cutters - I find cheapy nail-clippers the best for wire, to be honest
a needle-file and emery paper - if you have a polishing set-up, that’s lovely, but you can make nice matte-finish catches without one
an anvil or block and one of those little brass/nylon double-ended hammers.
First of all, take your wire (I’ve gone all Mrs Beeton, haven’t I?). Don’t cut a piece - if you work from the whole piece with most of the slack rolled up and secured, there will be no wastage at all.
File the end smooth, so there are no jaggies, and with the needle-nose pliers, bend the end up to form a little “flick”. Like this:

then, using the part of the pliers that corresponds to the width of clasp that you are looking for, grasp the wire tightly and bend it around the pliers to form the top of the clasp:

You should now have something that looks like the top of a shepherd’s crook:

Next, just below that first little “flick” thta you made, grasp the other side of the hook tightly with your pliers and bend the wire away from the hook at a right angle, like this:

Now move your pliers around a little, so they are at the angle shown in the photo below:

and make a complete loop around one arm of the pliers. I have moved them a little in this photo - once you have made a couple of these you’ll know the most comfortable way for you to hold the wire and pliers. But this is what you should have now:


Here is where the snipe-nose (I think you might know these as half-round) pliers come in handy. If you don’t have them, you can hold the loop by poking the round-nose pliers through it. Anyway. Grasp the end of the loop firmly between the pliers:

and wrap the wire a couple of times around. Cut the wire and leave a little end sticking out, thus:

File the end down until it is smooth, and then squeeze it down flush to the catch - the snip-nose pliers are best for this. You should now have a catch that looks like this:

It looks like a catch - it is a catch! but it is soft and still bendy. You need to temper the metal - and this is where the anvil comes in.
Place the top end of the catch flat on the anvil, as in the picture below. You’ll need to hold the end of it in place against the rest of the catch while you hammer, otherwise it will open itself up while you do it. If you want the wire to remain round, use the nylon end of the hammr; if you want to flattern it out (my preference), use the metal end. Remember to keep the face of the hammer (the bit you hit with) pretty much parallel to the anvil, and remember that hitting several times relatively gently is a much, much better idea than thumping at it as if you’re trying to bang a nail into the wall. Don’t over-hammer; the metal will end up thin and at worst fatigued.

Turn the catch around, and repeat the process with the closed loop at the end. I like to use this part of the process to bend the loop down at an angle slightly, but don’t worry if this makes no sense to you, it doesn’t have to:

Us the needle file to get rid of an really nasty marks, then smooth the whole thing with emery paper. You should have one of these:

You can polish it or use it as it is. I think the photos are pretty self-explanatory even without the text - the one thing I didn’t manage to do was to take a photo of the hammering (not enough hands) but I don’t actually think that was necessary anyway 