Ditto can disguise himself as any Pokemon. You may have already caught him and not realized!
Until now, several Pokemon have been un-catchable in Niantic's hugely popular Pokemon GO. They are Mewtwo, his three legendary bird counterparts: Articuno, Zapdos and Moltres, and... Ditto! Fans of the series will know that Ditto is a somewhat unorthodox Pokemon that has no battle power of his own, but can transform into any other Pokemon. So, his inclusion in Pokemon GO today is based around his special ability. Rather than simply spotting a Ditto out in the wild, he will disguise himself as another Pokemon, and only be revealed after he is caught. All those Pidgeys and Rattata's you've been ignoring could now be a Ditto!
"Ditto will only reveal its true self in place of the Pok?mon that you think you caught. When training or battling at a Gym, your Ditto copies the appearance, types, and moves of the first Pok?mon it encounters, and remains so throughout the rest of those battles," wrote Niantic in a press release.
You can see a video of an unsuspecting Ditto being caught to the right. Because he is only revealed after being caught, and because a lot of players will look away from their phones after catching a Pokemon they already have, there's quite a few instances of players having caught Ditto, and not even realizing!