12 weeks should still be fine as far as tenderness. What you want to be looking at is how heavy your birds are. Are they Cornish cross? They are likely big enough at 10 weeks (people often butcher them at 8 weeks), but it's ultimately your choice.
12 weeks is just fine. So is 10, or 8. Or maybe 14.
Preparation methods matter. So does the activity levels of the birds. But you should have very tender chicken to at least 12 weeks, likely 14. That's the period I try to take young males, but I have "dual purpose" mutts from hatchery stock who free range, so they need that long to put on some weight, and and also to assist me in sexing them, since I can't rely on pattern indicators as I might with some breeds.
The older the bird, the more flavor, and of course, the more chew. Dry high heat methods are best for young birds, as they age, you want to transition to slower, lower heat, wetter methods (stews, stocks, braises, etc) or mechanical maceration (sausage).
Look at the birds. Are they still mobile? Easily mobile or strained? If you get to the strained movement point, where it looks like it hurts to walk, it's time. You have the option of reducing feed to slow the growth and risk aggression, but you will still get to the hurts to move point.
Really, it's about the birds. Fast growth means the bones, heart, & other systems that may not be able to keep up. Look at the birds and decide. You are risking losing some the longer you wait.
An option is to butcher the ones that are having problems and let the others continue. I will butcher mine over several weekends instead of all at once. I do pull the largest or the ones having the most difficulty moving first.
Be sure to have lots of room and water available. Mine would eat grass and forage as I limited feed. I'd start at 8 weeks and butcher 4 a day on weekends. More if I could. Best wishes.