We performed hundreds of searches for train tickets on the websites of national European train companies as well as private portals. The goal: determine the cheapest and best way to buy tickets for riding the rails in Europe.
We’ve been riding around Europe ourselves for a few combined decades and plan to continue to do so in those to come, so for us this was about much more than research for this p(r)etty project.
We really wanted to know how we can save money and time with train tickets. The winner wasn’t a shocker — I’ve already been using it myself for about a year — but we were surprised by how far ahead it came out in the results.
Results: The Best Train Ticket Platform for Mainland Europe
The exception is for those booking tickets from IP addresses outside of mainland Europe, for whom Trainline charges a small booking fee of about 1-3%. You can avoid that with Loco2, another very easy to use site with good coverage of Western Europe — though not quite as complete as Trainline, which sometimes uncovers cheaper routes.
Finally, in some cases, especially for small, local trains and those in Eastern Europe, it can be best to just buy a ticket at the station as certain times and routes are not yet be available on any website.
- Our extensive dive into the screwy, annoying world of train ticketing websites
- Our top pick for mainland Europe train travel booking: Trainline
- Trainline has the cheapest pricing for complex and international trips
- Smarter train routing options produced shorter trips with fewer changes
- Other features that made Trainline our top performer
- Areas where we'd still like to see Trainline improve
- If you want to try out Trainline for yourself...
- The other options for booking trains in Europe
- National companies' websites
- Renfe: Spain's national operator's website is full of errors, badly translated
- OUI.sncf: The French train company's website has one useful feature for France but be careful not to get re-directed
- Rail Europe: Works fine for non-Europeans, but is very overpriced
- Trenitalia: OK for trips in Italy, but better if you speak Italian
- Bahn.de: A good, functional site for German train trips
- Oebb.at: The Austrian train website failed us for international trips
- DSB.dk: We couldn't understand the Danish train operator's mix of Danish and English
- Sbb.ch: The Swiss train operator's website involves lots of clicking
- CD.cz: Only option for Prague to Budapest, functional
- Ns.nl: Unwelcoming to foreign credit cards
- Other private train booking portals
- Loco2: Giving Trainline some strong competition, but still not quite as good
- Omio: Slightly more expensive, simple, searches buses and flights as well
- Rome2Rio: All methods of transport in one search, but not so good for trains
- More all-in-one searching that's not good for trains and ultimately requires French: GoPili.com, GoPili.co.uk, GoPili.ca, KelBillet.com
- Petrabax: Spanish train tickets for Americans, not useful
- ItaliaRail: Private booking site for Italy but adds a fee
- Italo: Private train company in Italy with limited routes
- National companies' websites
- Eurail and Interrail passes
- Wrap-Up: The Best Way to Book Train Tickets for Mainland Europe
Update history of this article
Our extensive dive into the screwy, annoying world of train ticketing websites
Between my researchers and I we read nine European languages (and tackle the rest with the Google Translate extension), so we were well ready for Europe’s poorly translated and partially translated train company websites — we wanted to be able to go anywhere for the best train tickets.
We searched for tickets for the most popular train routes taken by visitors across Western Europe, plus some of our own favorite routes, some fun small-town trips, and some pretty random destinations as well.
We looked at booking tickets for the very same day as well as in several days, a week, several weeks, and several months down the road. (The cheapest tickets are often available about 90 days in advance.)
We tried searching on just about every national rail company’s own website, as well as the websites that some of these companies have set up specifically for foreigners. We also searched on a variety of the private train ticketing platforms, both new and well-established, as detailed below.
We went several screens into the purchasing process because certain sites (especially you, OUI.sncf and sister sites!) often pretended to offer cheap fares but then only delivered error messages making the tickets not actually available once you clicked through.
Note while we did include Paris-London Eurostar tickets, we did not test for train tickets in the UK. Both Loco2 and Trainline’s UK version cover the UK, but that’s another test and another article for another day.
Our top pick for mainland Europe train travel booking: Trainline
Trainline’s robust, smart routing engine offered overall the best deals overall in our comparison against other platforms and the national train companies’ websites themselves. It’s also so much easier to use.
Let’s get into the weeds of our test results.
Trainline has the cheapest pricing for complex and international trips
Each of Europe’s national train operators determines their own prices, and these vary according to demand and how far in advance you buy. These tickets are available on each national train company’s website.
Trainline accesses these prices dynamically and offers a pan-European solution for buying all of them. This is why its standout performance in our tests was in providing cheaper routes than any other platform for complex and international mainland Europe trips.
On trips that we tried that involved crossing a border and at least one change of trains, Trainline’s smarter routing engine was able to come up with cheaper fares than the relevant national train company’s sites.
Here are examples of our searches on Trainline versus the relevant train companies:
- Paris to Venice: €58.90 on Trainline, €119 on OUI.sncf (but unavailable for actual purchase due to website error), €201.90 on Trenitalia
- Rome to Paris: €81.90 on Trainline, €119 on OUI.sncf (but unavailable for actual purchase due to website error), €267.90 on Trenitalia.
- Madrid to Berlin: €406.05 on Trainline; unavailable on Renfe.com (Spain), OUI.sncf, and bahn.de
- Paris to Warsaw: €158.80 on Trainline, €181.60 on OUI.sncf, unavailable on bahn.de, unavailable on Polrail.com
Trainline was cheaper and generally the savings were quite large, from 20 to 50%. Loco2 also came in close on some of these (see below). Rail Europe was ridiculously overpriced for complex trips.
Generally each national operator fails to actually offer international routes between other countries for sale, but when they do so they’re overpriced. OUI.sncf sometimes shows international routes for reasonable prices but then generally produces website errors when you actually try to click through to buy them.
For simple trips the story is a bit different; Trainline generally matches the dynamic prices of the national operators. If you’re browsing the site from in mainland Europe, you’ll get exactly the same prices as most major national train operators themselves. And if you’re if you’re outside of Europe you may see a booking fee (often 3%) added to your order. Also some smaller countries such as Belgium appear to have a similar booking fee built into the prices.
If it shows up for you, this fee can be avoided on many (not all) routes by booking the same route instead on Loco2, which doesn’t charge non-Europeans extra (though it does seem to round up a bit when the price is in dollars for example). We’re annoyed about this fee, but both platforms do save you a lot of money compared to national operators (whose sites tend to fail for those with non-national credit cards) and especially compared to booking platforms for non-Europeans. Also terrible: the same national operators’ big markups on each others’ fares. For example, OUI.sncf offers tickets on Trenitalia from Naples to Rome, but you’ll pay up to 100 euros more than booking with Trainline or Trenitalia.
Trainline is also the only private platform to offer certain budget routes like the Ouigo network in France, which can save you substantially on travel between major cities (Marseille to Paris for example). The Ouigo site itself is French-only, making Trainline a much more hassle-free way to book in English or other languages.
We love to spend time finagling the best price for a specific route, but often the first and last stop in our search is still Trainline.
Smarter train routing options produced shorter trips with fewer changes
Trainline has been in this business for a while (the company includes what used to be Captain Train) and has developed both deep links with the rail systems as well as excellent AI for determining the “best” trip.
It thus, compared to the other search engines we tried, invariably found as short or shorter routes (and sometimes with fewer stops too).
Other features that made Trainline our top performer
Buying train tickets in Europe used to be a complex nightmare in which you’d have to look up your route in the Thomas Cook European Timetable.European Rail Timetable, is still available for the stubbornly old-fashioned.
Even when tickets began to be sold on the internet this involved a lot of knowledge, clicking, and time to navigate then-convoluted (and still-, see below) national companies’ train websites. Seat 61 has been quite helpful, as well as knowing a few languages and having a lot of patience.
Trainline manages to incorporate this vast amount of multi-nation gunk in a really simple interface that gives you just what you need — the tickets, add-ons, and info — to get around by train.
A clean interface with no ads, real English, and no website errors
Trainline’s design is much simpler compared to the clutter in other national train booking websites (or in the case of the Austrians, so simple we had trouble at first figuring out what to click). And unlike so many private train booking portals, it doesn’t have pop-ups or pop-unders for hotels and the like. In fact, it has no advertising at all; refreshingly, Trainline simply sells train tickets.
Also, in our hundreds of searches, we didn’t encounter a single website error or hiccup on Trainline, whereas there were lots of them on the national (Renfe, Trenitalia, and OUI.sncf) sites that made it difficult or impossible to shop there for some tickets.
All of the national companies’ websites had English versions. But they were so poorly translated in certain spots that it was impossible to understand what was really meant. And in many cases the sites abruptly reverted back to the national language in chunks, especially for fare options, error messages, and the names of cities (you have to type “Den Haag” instead of “the Hague”, and so on).
As far as we found, Trainline was perfectly translated and showed the places we wanted whether we typed in the English or local version of the place name.
Trainline is also available in 16 languages — far more than the other booking platforms.
Trainline has the greatest reach over European rail networks
While Trainline claims that it wants to expand to cover rail travel around the globe, it’s far from there yet. But it does offer in our tests the widest and deepest coverage of rail networks in Western Europe, and a bit of coverage of Eastern Europe.
Incorporation of bus options
Trainline incorporates bus options into its search results. This can mean that for example if you search for London to Paris you’ll see the lovely and superfast Eurostar train, but you’ll also see the option to save money (sometimes more than €100) by taking a bus instead.
Omio, Rome to Rio, OUI.sncf, and Loco2 also integrate various bus companies to some extent, but Trainline’s search is more useful in that it incorporates the smart routing discussed above and, where relevant, provides you with combinations of bus and train tickets to get you quickly and cheaply to destinations (particularly those places less-served by trains).
Extra add-ons like WiFi, senior discounts, bikes…
Unlike some other private booking platforms, Trainline asks for your age in order to be able to steer you towards any age-related (senior, youth) discounts that various train companies may offer.
It also offers, where available and necessary, the option to add on WiFi access for your ride or a ticket for pet or your bike.
And unlike Loco2, it shows first-class options right in the first page of your search results. On occasion these can be as cheap or even (rarely) cheaper than second class, so it’s good to see this even if it’s not your usual choice. (I find second class generally quite comfortable in Europe, and not much different from first.)
Functional payment and ticket delivery options for non-Europeans
Trainline accepts Visa, Mastercard, Paypal, American Express, and Apple Pay. The (French, Dutch, etc.) train companies’ failure to accept Australian, American, and other foreign credit cards can be a major frustration for travellers attempting to buy tickets on the national sites. This is even in some cases a problem with ticket machines or at ticket windows.
Ticket delivery can also still be a headache. Some train companies and ticketing platforms still insist on delivering tickets by mail, which is slow, environmentally harmful, silly, and less convenient if you’re already on the road, your trip is coming up, or you should need to exchange or return them. (Seat 61’s intrepid Mark has pointed out to us that this is often due to the platforms’ lack of connection to the rail system in question.)
Trainline never delivers tickets by mail, and instead allows you to use the forms of E-tickets allowed by the national rail companies involved (this can involve giving a letter code, a bar code, showing the app on your phone, etc.)
Good customer service
When we buy tickets that come by email, they come from the address realpeople@trainline… It’s a nice classy touch after all of those noreply@ addresses we’re used to seeing.
Trainline’s email support is well reputed. But they’re not a travel agency and not available by phone to chat with you about where you might like to go, for example. And while they do endeavor to provide information about strikes and such, for customer service on the road you’re ultimately stuck with the national operator whose ticket you’ve purchased.
Cancellations and exchanges can be handled directly in Trainline with its much easier and more comprehensible website (compared to the national operators). I haven’t had to do this yet, but after the monstrous mistreatment I and others I know have experienced at the hands of the SNCF’s process, I know I’ll be much happier in the future to have purchased the tickets through Trainline if a cancellation is necessary.
Also note that in contrast if you don’t purchase through Trainline, in some cases where you have been mailed tickets by one operator for a leg on another operator’s trip, you may not be able to do an exchange or return at all.
Areas where we’d still like to see Trainline improve
So yes, we’ve become fans of Trainline and it’s what we use. But it’s still not perfect and there are areas where we hope it will get better.
The main problem is that Trainline charges a booking fee for people booking with IP addresses (where your computer is located) from outside mainland Europe. They refuse to release the exact scheme, but in our tests booking from various IPs, it’s always a small charge, usually around 3%. And even in some cases where Trainline says there is “no booking fee” we found that the prices had been subtly increased by about that same amount (for example, on trains within Belgium) as compared to these smaller countries’ own operators.
If you’re outside mainland Europe, you can attempt to avoid this if you have a good VPN service (if you don’t already have it, that’s a lot of extra trouble though). Or you can book many of the same major trains through the competing and also excellent Loco2 (exceptions being France’s Ouigo networks, and a few others that Loco2 lacks).
Aside from that, there are a few other areas where we’d love to see Trainline improve:
- Some ultra-local regional trains and Eastern European train options are poorly covered on Trainline. Often such tickets are still best purchased directly at the station wherever you’re at. Seat 61 covers places like Serbia, and can help you understand when and how to get tickets. (But also, for parts of Eastern Europe, the trains can be so unreliable that we’d recommend just getting on a bus, van, or car sharing, if you really want to get where you’re going in any reasonable time frame. Serbian trains are delightful and funny, but not very good if you want to get somewhere.)
- There is no flexible dates option as you would find on Google Flights for example, to see what dates are cheapest to travel on. One workaround I use for trips in, to, or from France is to search on the SNCF’s website selecting “flexible” or “next 30 days”. Once I find the date that I want I head back to Trainline to ensure that I get the best deal for that day and have an easier time actually booking without the SNCF’s errors and payment rejections.
If you want to try out Trainline for yourself…
We’d love it if you book your tickets at Trainline (or any of the other platforms for that matter) using our links.
Doing so often supports our research (we should get a tiny commission from just about any of these sites, and it doesn’t cost you anything). This way we can do even more mind-numbing travel research projects for you all in the future! Thanks everyone.
The other options for booking trains in Europe
Trainline is well ahead of the competition as the one-stop place to book European train tickets, but its far from the only game in town.
There are a number of competing platforms, and most national train companies have long and less-successfully been in the game of attempting to provide cross-continental train bookings.
National companies’ websites
Renfe: Spain’s national operator’s website is full of errors, badly translated
I live part-time in Barcelona, and most of my Catalan and Spanish friends regularly use, suffer, and curse the Spanish train booking site Renfe.com.
For English users, the site is badly translated (or untranslated: you still need to know Spanish place names and will see error messages in Spanish). For everyone, it’s ugly and full of usability problems and error messages. The site often rejects credit cards, especially foreign credit cards. Here’s our full coverage of the problems with Renfe’s website.
Renfe’s site is particularly full of errors when you attempt to buy tickets starting or ending outside of Spain.
OUI.sncf: The French train company’s website has one useful feature for France but be careful not to get re-directed
OUI.sncf (formerly known as Voyages-SNCF) is France’s national train operator’s website. It has one useful feature for train travellers; it can show a calendar for a particular French trip with the cheapest prices for different days, so that you can get an idea of the best day to travel on.
To use this feature, either use the French version of the site if you know that language, or choose one of the nearby country versions in the top right menu, or else choose Europe (other countries). Do NOT choose “Rest of the World”, as this redirects to Rail Europe, which is overpriced as we explain below.
The next step is to click on the arrow below the search field dates to expose additional options, and choose “flexible” or “find the best prices in the next 30 days”.
Once you decide on the day you want to travel, we’d head back to Trainline for the better service and to ensure that we’re getting the best prices for that day.
This strategy is only for trips in France or simple trips coming or going from France. It is not relevant otherwise; in more than three-quarters of the complex cases we tested Trainline found better fares than OUI.sncf, often costing about about half as much (for savings of as much as €91.90 on one trip). And OUI.sncf never offered a better price for a particular trip than Trainline.
Also, for the majority of these complex international trips it was impossible to actually book the ticket; once the trip was selected the SNCF website produced errors and forced us to start over. The website is also, as we’ve documented, not good with foreign credit cards.
Rail Europe: Works fine for non-Europeans, but is very overpriced
Rail Europe is the website for non-Europeans from the French train company (SNCF). It was able to offer nearly all of the same destinations as found on Trainline, but at prices (in US dollars, Russian roubles, etc.) that were much, much worse. The route options were much longer too.
They offer a relatively hefty commission to websites (including ours, for now) that mention them, so perhaps that’s why they still get some business. But we’d recommend Trainline instead, which also allows you to purchase from anywhere in the world with major credit cards but without that huge markup. If you were considering Rail Europe and you appreciate our honesty in saving you some cash, feel free calculate the money you’ve saved and make a donation to help refugees in Europe! (A friend in academia who is deeply involved recommends Legal Centre Lesbos, which she says is an incredibly effective organization with low overhead.)
Trenitalia: OK for trips in Italy, but better if you speak Italian
I’ve booked train trips within Italy on Trenitalia without issue, but I do speak Italian. There is an English version of the site but when you use it the city names, ticket conditions, and (many) website error messages still generally come up in Italian. Some of the website’s attempts at English are hilarious — though I suppose they become less so when you’re trying to decipher details of a trip. Using Google Translate on the Italian version may actually serve some people better than the site’s own English version.
In our tests like Bari to Rome and Naples to Bari, Trenitalia, Loco2, and Trainline were all able to offer the same routes and for the same prices (though Trainline did also propose much cheaper bus options for us). The site comes up in our browser as insecure but shows as secure once a search has been entered.
Trainitalia was much more expensive than the other two however when it came to international trips like Rome to Paris, Bologna to Salzburg, or Rome to Nice. And the routing options that it came up with were longer than those of Trainline.
Bahn.de: A good, functional site for German train trips
Bahn.de used to be a common favorite for international searches in Europe. At the time of our tests, however, the site showed as “unavailable” any trip that wasn’t either starting or ending in Germany.
For simple train trips within Germany like Berlin to Hamburg, the site offered tickets for sale at the same prices as Loco2 and Trainline.
This was the only national train website that during our testing presented us with no useability issues, errors, or translations that hindered understanding. I’ve previously purchased tickets on this site with a foreign credit card without issue.
If you do use the site we recommend printing your tickets or keeping the email handy instead of relying on the app, as one of our team has had issues importing tickets purchased on a computer into the app.
Oebb.at: The Austrian train website failed us for international trips
We were excited to test out Austria’s Oebb.at, as we’d heard that it was good for searching for Eastern European train fares. But in fact Oebb only offers tickets for trips starting or ending in Austria. When searching for anything at all outside of Austria we got errors like “ticket not available” and “ticket for section only” — meaning that only one segment of the trip was available. The site only offers tickets through its connection to Austria’s OBB system.
The website was fine but so simple that at first it was difficult to understand.
DSB.dk: We couldn’t understand the Danish train operator’s mix of Danish and English
Our team’s nine European languages do not include Danish, and this website delivers its “English” version with an awful lot of Danish thrown in. Even with Google Translate, we were unable to determine if we would actually be able to search for and complete a purchase process on this site as foreigners. Honestly, we couldn’t tell what was going on and gave up.
Sbb.ch: The Swiss train operator’s website involves lots of clicking
Sbb.ch offers tickets for trains within and entering and leaving Switzerland, but the search function is not so useful as you have to click through several screens on any one trip before you can see the price of that option.
CD.cz: Only option for Prague to Budapest, functional
Since no other operator or private portal connects directly to the Czech Railways system, CD.cz is the only place to go for train tickets like Prague to Budapest (six and a half hours). (Another hat tip to Mark at Seat 61 for this pointer.) In our tests the site was easy to use and straightforward; the only inconvenience is that it shows ticket prices only in Czech Koruna so you’ll need a currency converter site open in another tab to know what you’re paying. It accepts Mastercard, Visa, MasterPass, and American Express.
Ns.nl: Unwelcoming to foreign credit cards
I haven’t travelled by train in the Netherlands super recently, but in the past I (and those I know) were unable to purchase tickets there with any bank card that was not Dutch, whether via internet, the app, or even in person at ticket machines. (This is incredibly inconvenient as some stations do not even have a human-powered ticket window or cash options.)
In our current testing of the Ns.nl website, I attempted to enter current Spanish, French, and USA credit cards and got error messages saying in Dutch saying that this type of payment was not accepted. Unless I have a Dutch friend with a Dutch credit card readily at hand, I’ll be sticking to Trainline, which offered the same ticket for Amsterdam to the Hague for €1.10 more. (Loco2 also offered this ticket but only by snail mail sent to a UK address.)
Other private train booking portals
Loco2: Giving Trainline some strong competition, but still not quite as good
Separately, we’ve published a very in-depth comparison of the results of Loco2 vs. Trainline for complex trips, but the takeaway is that Loco2 offers complex international routes that are generally more expensive and/or not as fast. For simple trips it offers the same prices as Trainline, and slightly better prices (without the approximately 3% booking fee) if you’re booking from outside of Europe or booking within a smaller country like Belgium.
The problem is that Loco2 doesn’t offer some routes that Trainline does, like the French budget trains Ouigo or some OBB network trains. But overall Loco2 is quite easy to use and has wide coverage, and we like the simplicity of the purchase experience better than Trainline in some ways. Loco2 is the only other private train booking platform that we’d use ourselves for travel.
Omio: Slightly more expensive, simple, searches buses and flights as well
The appeal of Omio is that you can search for your bus, train and flight options all at once. Unfortunately, it tacks on fees, so in all our tests tickets are slightly more expensive than on the other platforms we covered.
The site has a super simple and distraction-free interface. Unfortunately, it’s poorer at offering the add-on features (age-related discount cards, bicycles, WiFi, etc.) than our main pick.
And it’s also too bad that Omio doesn’t allow us to search for particular times on a given day so we needed to do more scrolling through search results to find the times we wanted. Omio accesses many of the same major train systems as the other private platforms but seems to show many fewer train options for those routes.
Omio accepts Visa, MasterCard, American Express, and Paypal.
Rome2Rio: All methods of transport in one search, but not so good for trains
Rome2Rio is definitely an interesting site for travellers to bookmark; it allows you to see driving, bus, plane, and train options between two points pretty much anywhere in the world.
But for European train travel specifically, Rome2Rio just doesn’t show very good route options, and the ones it does show can come in a lot more expensive than our top performer. It also tacks on a booking fee. The site accepts American Express, MasterCard, Visa, Diners Club, and Discover.
More all-in-one searching that’s not good for trains and ultimately requires French: GoPili.com, GoPili.co.uk, GoPili.ca, KelBillet.com
The European train ticket prices shown were more expensive than what we found on our top pick portal, and the site inexplicably re-directed us from English to the French version of OUI.sncf to actually purchase. The interface is clunkier than Rome2Rio. These sites are definitely not recommended.
Petrabax: Spanish train tickets for Americans, not useful
The only thing going for the travel agency site Petrabax in terms of trains is that it allows people from the USA to book Spanish train tickets. However, city names are only sometimes in English and the site produced lots of error messages in our tests. Americans are better off simply using our main choice at top, which does the same thing without this hassle and for cheaper.
ItaliaRail: Private booking site for Italy but adds a fee
Private booking portal ItaliaRail is an easier way to book Italian train tickets than with Trenitalia directly. In our tests it had more comprehensible English and fewer website errors. But it tacks on a small fee and its routing options aren’t as good as our main pick.
Italo: Private train company in Italy with limited routes
Italo runs its own trains in competition to Trenitalia on limited routes. But its official Italotreno website is incompletely translated.
You can buy Italo tickets from our top choice Trainline, and these will show up as options when you make a relevant search. Trainline thus allows you to compare all Italian train offerings at once, and is an overall much better option.
Eurail and Interrail passes
Far be it from us to say that there’s a wrong way to travel.
But there’s a wrong way to travel.
If you’re taking trains frequently enough and to enough random backwaters to justify the cost of a Eurail or Interrail pass (or any nation’s pass system), you’re almost definitely spending too much time in trains and train stations and not enjoying the actual European delights as much as you should. Here’s more on why we generally don’t recommend rail passes.
But if you must know more, you can find out here:
- Eurail pass: This is for people living outside of Europe. There are also specific country passes.
- InterRail pass: This is for people living in Europe.
But, side from saving money and staying longer in individual cities, we’d rather have the freedom to improvise, take fast trains anywhere, and reduce headaches by forgoing the rail passes and just buying individual tickets. Trainline and Loco2 have made that much easier to do.
Wrap-Up: The Best Way to Book Train Tickets for Mainland Europe
The Best Train Booking Platform Overall
- For mainland Europe, pricing for simple tickets as major national train operators was the same as buying directly
- Much better fares and smarter routing on complex international trips than any other platform
- Simple booking process with functional website
- Accepts non-European credit cards
- Doesn’t require mailing tickets
- Smartly written, understandable English website
- Good customer service
We found that Loco2 came in a close second as a train ticketing platform. You can possibly save by also checking for your tickets on their site, thus avoiding the booking fee of 3% that Trainline assesses for those who are outside of mainland Europe at the time of booking, or for certain smaller countries. But since Trainline has some routes that Loco2 does not, it’s worth always checking Trainline too.
Bahn.de was the most functional of the national operators’ websites and just fine for Germany — though Trainline and Loco2 do just as well. For parts of Eastern Europe it is still sometimes necessary/best to just book in person once you’re there.
If you are travelling in France and have flexible dates you can compare dates on OUI.sncf (but we’d still purchase on Trainline).
Wondering what to take? We’ve got a full guide to what to pack for European train travel as well.