EggWebs is a program that finds Pokemon breeding chains that meet conditions you set. The entire chain is shown and explained.
EggWebs can find breeding chains that let you put multiple desired moves onto one Pokemon, which is a hard task pre-Gen6 because mothers could not pass down moves in most cases.
EggWebs gets data from Bulbapedia pages saved to your computer. It requires the pages of all moves you want to put on the Pokemon.
To properly save the pages, go to them on Bulbapedia and then press Alt+Shift+E, or in the URL, replace wiki/ with w/index.php?action=edit&title=. If you're logged into the wiki, you can simply click Edit source.
In any case, you should now have a textbox on screen. Copy everything in it to a new file on your computer. The files can be named anything, but to avoid confusion, you'll want to name them after the moves they're for.
Open EggWebs.html in your web browser.
Click the browse button and select the moves you want to put on the Pokemon. Set your settings, then click "Go" at the top. Any number of moves at once will work. The program will be able to do less repeat work if you provide every move you're interested in at once.
When a breeding chain (or combination of chains) is found, it will be presented to you. If the chain is not suitable for you, you can click the arrow next to a Pokemon to make EggWebs find a new breeding chain based on the option you chose.
EggWebs is NOT a team validator. EggWebs assumes that all moves you give it are intended to be acquired through breeding and it will only work toward that end.