In most cases you cannot.
It depends on which game you're using. In the original Silver, Gold and Crystal versions you can, but anything afterwards no. It likely has something to do with the fact that breeding for decent IVs would be alot more simple with a Ditto with good IVs.
Chat with our AI personalities
almost Any one except any legendary or another ditto and that's it. (you can breed another ditto on the original gold and silver)
You can breed sudowoodo with another sudowoodo or a ditto. To get another sudowoodo, you will need to trade for one. You can also breed a ditto with a sudowoodo to get another sudowoodo. Make sure you ask the daycare to see if your ditto gets along with the sudowoodo.
Everything except for legendaries and another ditto. In Pokemon Gold and Silver, you could breed two dittos.
Any Pokemon that can breed can breed with Ditto. However, certain Pokémon cannot breed. This includes 'legendary Pokémon' like Lugia or Uxie and 'baby Pokémon' such as Pichu or Tyrogue. Ditto cannot breed with another Ditto, and also the Pokemon Nidorina and Nidoqueen cannot breed. Muchlax is a baby, so you must evolve him into a Snorlax before it can breed with Ditto.
any Pokemon can breed with ditto except legendary Pokemon and ditto. in other words, you can't breed a ditto with a ditto