How to know if a Pokemon is a Ditto?
There are, in fact, a couple ways to detect a Ditto:
- Ring Discrepancies
Dittos have different thresholds for ring colors, which means that their ring colors might not match the expected CP value. For example, a Ditto hiding as a Rattata may have a CP listed as 27, but it may have a yellow or orange ring. Of course, this isn't foolproof as the CP might very well match. This may very well be an unintended mechanic/bug, as per reports by others.
Sources: PoGo Gamepress, Reddit Thread, Various online comments/sources, personal experience, community reports. - Game Data Mining
If you're clever with reverse engineering and reading the game data, a hiding Ditto is detectable due to a couple flags sent to the client, so everybody knows what is being dealt with. These flags can either be intercepted using something like Wireshark, or you can (try to) use a mapping/radar solution. Of course, this is dependant on Niantic not changing anything, which we never can predict reliably.
However, if the ring colors match (which seems to be rather common) and you don't want to use Wireshark or other "cheaty" methods, there's no way to legitimately detect a Ditto without catching it. And, you don't need a permit for catch-and-release.
No. You will not know it is a Ditto until after you catch the Pokemon. A dialog will pop up with "Oh?" and a short cutscene will play showing the Pokemon turn into a Ditto.
See this GamePress article on Ditto mechanics:
There is no way to know whether you have encountered a Ditto until you try catching it. Its target ring colors is faked to match the catch rate of its disguise.
Ditto has a Base Capture Rate (BCR) of 16%, among the lowest in-game for an unevolved Pokemon. In comparison, the common Pokemon it disguises as all have BCR of 40% or 56%. This means Ditto is 3-4 times harder to catch. If you throw an excellent curved Ultra Ball and that Pidgey still breaks out, it might be a Ditto (or knowing your luck, it might not).
Thus, there is no way to tell beforehand, unfortunately. The most telling indicator is that your Pidgey or Rattata is uncannily difficult to catch (but it could also just be a case of bad luck).
To add upon user208574’s answer regarding ring colors: By toying with GamePress’s catch calculator or just by catching a lot of common Pokémon, you can get a feel for how often common Pokémon escape from certain throws. GamePress writes:
According to u/paanvaannd's extensive research, Ditto most often disguises as:
- Pidgey
- Zubat
- Rattata
- Magikarp
and
Ditto has a Base Capture Rate (BCR) of 16%, among the lowest in-game for an unevolved Pokemon. In comparison, the common Pokemon it disguises as all have BCR of 40% or 56%. This means Ditto is 3-4 times harder to catch. If you throw an excellent curved Ultra Ball and that Pidgey still breaks out, it might be a Ditto (or knowing your luck, it might not).
Baserate neglect is a common human bias, so due to the low Ditto baserate you’ll still be disappointed a lot, but for me it means that when a Pidgey escapes from my Razz Berry–augmented curved great Poké Ball (and I’m lucky enough that it doesn’t flee), I’ll switch to Razz-Berried Ultra Balls just in case.