First off, get yourself a Ditto that has perfect ivs in all stats, have it hold a destiny knot then shove it in the daycare
Second thing depends on the mon you want to breed. Let's take your Charizard for example. Zard usually goes for modest or timid so there are two scenarios. One, if your Charizard has the nature you want, then have it hold an everstone and shove it in the daycare. Two, if it doesn't shove it in the daycare but don't give it an everstone. The nature from breeding is random so keep hatching eggs until you have the nature you want
Third is when your Zard finally has the nature you want. Now, shove it in the daycare while holding an everstone and have it breed with the six iv Ditto that is already there. At this point, you should already have access to the iv checker. I'll link it later where they can be found in each game. What you need to do is just keep hatching eggs. With the everstone, all eggs will hatch with the nature of the one holding it, in this case, Charizard, while the destiny knot will pass down five ivs instead of three. Don't hatch many eggs the first time around. Just hatch around five or six. From there, pick the one that has the most perfect ivs, take your Charizard out of the daycare, transfer the everstone to the picked offpsring and shove it in the daycare. Just repeat this over and over until you hatch one with perfect ivs in all stats. You can get picky and go for zero attack ivs if using a special attacker but this is already time consuming enough as is
Fourth is ev training. Once you have the perfect egg with perfect ivs and nature, you're gonna wanna ev train it. So, just google 'where to ev train in blah blah blah game' and follow what the results say. There should be some sort of meter that displays how much evs you have but it never shows the exact amount. I think this was introduced in gen six but I could be wrong. This process would also be much faster if you have the power items so get them first if you can
After that, all you need to do is level it up to max level and there you have it. This might seem easy and it is but this is time consuming as hell so be ready to spend a lot of boring hours just biking around. Important note is that it's better to ev train before you level up. This way, you don't get any unwanted evs and you don't have to find some ev reducing berries, which would take even more time to grow them
Alternatively, if you're lazy like me, then you can skip the third one altogether but only if playing from gen seven onwards. If a Pokemon is already max level, then you can use bottle caps to fake perfection on an iv. The game will count the bottle capped iv as max in battle. It will have no effect when breeding. So, you can just shove your Ditto with your mon of choice with its desired nature holding an everstone, hatch an egg, level it to max and bottle cap it
Here are some useful links
https://bulbapedia.bulbagarden.net/wiki/Stats_judge
https://bulbapedia.bulbagarden.net/wiki/Pokemon_breeding
https://bulbapedia.bulbagarden.net/wiki/Power_item
https://bulbapedia.bulbagarden.net/wiki/Bottle_Cap