Poké Transporter allows the transfer of Pokémon from the Generation V and the Virtual Console releases of the Generations I and II games to Pokémon Bank and can be downloaded separately after Pokémon Bank has been downloaded.
Pokémon sent from the Generation V games can be withdrawn from Pokémon Bank in Pokémon X and Y, Pokémon Omega Ruby and Alpha Sapphire, Pokémon Sun and Moon, and Pokémon Ultra Sun and Ultra Moon (although they cannot be withdrawn in the Generation VI games once they have been withdrawn by the Generation VII games). Pokémon sent from the Virtual Console releases of the Generation I and Generation II games can be withdrawn from Pokémon Bank in Pokémon Sun, Moon, Ultra Sun, and Ultra Moon only.
Poké Transporter allows the player to select an inserted physical copy of Pokémon Black, White, Black 2, or White 2, a Virtual Console copy of Pokémon Red, Blue, or Yellow (in Western languages) or Pokémon Red, Green, Blue, Yellow (in Japanese language), or a Virtual Console copy of Pokémon Gold, Silver, or Crystal.
Only the Pokémon from Box 1 can be transported, without the use of glitches, and the entire Box will be transported at once, limiting the transfer to up to 20 Pokémon at a time (30 from the Japanese versions of the Generations I and II games); if any Pokémon in the Box are ineligible to be transported, they will simply remain in the Box while all other Pokémon in the Box are transported. The Pokémon transported to Pokémon Bank are placed in the Transport Box. A new transfer cannot be made if there are any Pokémon in the Transport Box.
To download Poké Transporter, go onto Pokémon Bank, go into Pokémon Bank and select the option to do so instead of Transferring. It is free to download.