We are going to be traveling by train from Amsterdam to Cologne; spending a few hours exploring Cologne and then taking another train to Freiburg. Is it best to buy these tickets in advance online from home or can we wait until we get to Amsterdam? Any advice is appreciated :)
Buy them in advance, as early as possible, that will save you money (it doesn't matter where you are when you buy, just when).
Buy the tickets from the DB (German Railways) website: https://www.bahn.com/en/view/index.shtml
This will get you "print-at-home" tickets e-mailed to you.
Be aware there is more than one Freiburg in Germany (and another one in Switzerland). The one most people want (the one in Baden-Württemberg, near the Black Forest) is Freiburg(Breisgau) Hbf.
You can easily buy the tickets in Amsterdam. It will just cost you more - likely quite a lot more. Not because you are buying in Amsterdam but because long distance international tickets are so much cheaper far in advance. Gotta take the train you buy in advance for cheap though - you can't just get on any train you want, so if you want maximum flexibility buy on arrival the most flexible tickets and just pay the extra money...
The DB site has a »Further options« function. Put in Cologne (Köln Hbf) as an intermediate stop and choose the time you want to stay there before continuing your journey to Freiburg on that same ticket.
Thanks so much for the replies! Did not realize how much more the tickets would cost purchasing in Amsterdam. Will definitely buy in advance and will use the "further options" button . Thanks again!