Whatever you have to hand. Generally chains are filthy, so I use cloth rags whose next stop is the bin. I don't wash rags for reuse - by the time they're down to cleaning chains, they're pretty dirty already.
I do use a clean paper towel for the last wipe of excess lube.
I've never bought rags in my life. I simply recycle old towels and clothes.
- Cheesecloth / muslin
- Paper towels
- Natural fibres are generally pretty good for cleaning.
- nylon tends to repel water, and be quite thin
- sacking / burlap tends to be quite thick and somewhat scratchy.
- Wet Wipes
- Fur - drops fibres like wool
- wool - tends to be dropping little fibres when its old and worn down. Better to compost pure wool, or unpick it to a string (see below)
- lace - too many holes
- silk - too thin
- leather - not very absorbent. Reuse in other ways instead.
- Tissues / toilet paper - can't handle the water and break down quickly.
- Sailcloth TOo hard and not absorbent. Better reuse elseways.
- PVC and other waterproof layers - not absorbent
- Most artificial fibres are poor for absorbing.
Yarn / wool - has use as a "gear floss" for getting dirt out of your cassette between the cogs, but is less useful elsewhere.
Feel free to raise comments with corrections, or just edit directly.