Answers about TrainPace's VDOT pace calculator, GPX elevation analysis, race fuel planner, training plans, accounts, and data privacy.
TrainPace is a free, modern web application for self-coached runners. Calculate science-backed training paces, analyze GPX route elevation profiles with interactive maps, predict race times across distances, and plan race-day fueling strategies — all in one place with no paywalls.
No account required for basic features like pace calculation and GPX analysis. Sign in with Google or email (via Firebase Auth) to save your uploaded routes, bookmark marathon courses, and access your personal dashboard with all your data synced across devices.
Your privacy matters. GPX files are only stored in Firebase if you're logged in and are linked securely to your account. We don't sell, share, or analyze your personal data. Anonymous routes can be shared via secure links without exposing your identity.
TrainPace was built by a solo developer and passionate runner dedicated to making powerful training tools accessible to all self-coached athletes — completely free, with no ads or premium tiers. Built with React, TypeScript, Firebase, and deployed on Vercel.
Enter any recent race result (distance and finish time), and TrainPace instantly calculates your personalized training zones: Easy, Tempo, Maximum, Speed, Extra Long, and Yasso 800s. Switch between kilometers and miles, use preset race distances (5K, 10K, Half, Marathon), and get paces that match your current fitness level.
TrainPace calculates six key zones: Easy (recovery runs, 20-30% slower than race pace), Tempo (comfortably hard, ~95-105% of race pace), Maximum (threshold training, ~85-95%), Speed (intervals, ~80-90%), Extra Long (endurance building, ~20-40% slower), and Yasso 800s (marathon-specific intervals). Each zone has a specific training purpose based on exercise science.
Pace calculations are based on proven training formulas used by coaches worldwide. Accuracy depends on the quality of your input — use a recent race result from similar terrain and conditions. For most recreational runners, TrainPace provides reliable training guidance. Elite athletes or those with specialized needs may require more individualized coaching.
Absolutely! TrainPace supports both metric and imperial units. Enter your race distance in kilometers or miles, and choose whether to display training paces as min/km or min/mile. The calculator handles all conversions automatically with precision.
ElevationFinder analyzes GPX files from your GPS watch or running app to visualize elevation profiles with interactive Mapbox maps. See total elevation gain/loss, grade percentages, steep sections, and get AI-powered insights about terrain difficulty. Perfect for race reconnaissance or analyzing training routes.
Drag and drop your GPX file directly onto the ElevationFinder page, or click to browse from your device. TrainPace parses it instantly in your browser — no server uploads needed for basic analysis. Logged-in users can save routes to their dashboard and generate shareable links with permanent cloud storage.
Currently only GPX (.gpx) files are supported — the standard format exported by GPS devices and apps like Strava, Garmin Connect, COROS, Suunto, Wahoo, and most running platforms. TCX and FIT file support may be added in the future based on user demand.
TrainPace uses a cumulative positive gain method — summing only uphill sections while filtering out GPS noise and small fluctuations. This provides clean, accurate elevation statistics. The API applies intelligent smoothing to handle barometric vs. GPS elevation data variations.
Different platforms use different smoothing algorithms, data sources (GPS vs. barometric altimeter), and correction methods. TrainPace prioritizes clarity and reproducibility with a transparent calculation approach. Small differences (5-10%) are normal and don't impact training insights significantly.
Yes! After uploading and analyzing a GPX file while logged in, you'll get a permanent shareable link (e.g., trainpace.com/elevationfinder/abc123). Anyone with the link can view the elevation profile, map, and insights — perfect for sharing race courses or training routes with your running crew.
ElevationFinder uses Mapbox for high-quality, interactive maps with outdoor terrain styling. See your route plotted with start/end markers, zoom and pan to explore details, and view the route overlay on real-world topography. The map automatically fits bounds to show your entire route at the optimal zoom level.
TrainPace provides segment-by-segment breakdowns classifying terrain as flat, rolling, hilly, or steep based on grade thresholds. Get difficulty ratings, identify challenging sections for pacing strategy, and see estimated time adjustments based on elevation. Customize analysis parameters (base pace, grade thresholds) for personalized insights.
TrainPace uses file hashing to detect duplicate GPX uploads. If you upload the same file twice, you'll receive a warning and the system won't create duplicate entries in your dashboard. This keeps your saved routes organized and prevents accidental duplicates.
Yes! From your Dashboard, you can soft-delete uploaded GPX files, which moves them to a recoverable state. Deleted routes can be restored if needed. Permanent deletion (hard delete) may be added as a backend cleanup feature in future updates to free up storage space.
Your personal Dashboard shows all uploaded GPX files and bookmarked marathon routes in one place. See preview maps, key stats (distance, elevation gain), and manage files with sort/filter options. View detailed route information, access shareable links, and quickly navigate to any saved route for deeper analysis.
When viewing preview marathon courses on TrainPace, you can bookmark them for quick access later. Bookmarked routes appear in your Dashboard with a purple marker, separate from your uploaded GPX files. Great for comparing different race options or tracking courses you're considering for future events.
Dashboard cards display thumbnail maps with your route trace, start/end points, and key statistics (distance, elevation gain, data point count). Maps use Mapbox outdoor styling for clear terrain visibility. Click any route to see the full analysis with interactive charts and detailed insights.
Select your race type (10K, Half Marathon, or Full Marathon), enter your estimated finish time, and optionally add your weight for personalized recommendations. TrainPace calculates carbs per hour, total carbs needed, total calories, and recommended gel count based on proven sports nutrition science and real-world marathon fueling strategies.
For most 10K races, fueling is optional. If your finish time is under 45 minutes, your glycogen stores are typically sufficient. For slower 10K runners (over ~50 minutes), one gel may help maintain energy, but it's not required. TrainPace reflects this by recommending either 0 or 1 gel depending on your estimated time.
TrainPace recommends up to 1.5 gels per hour for half and full marathons, with a maximum of 7 gels total for full marathons. This aligns with ~30-60g of carbs per hour, preventing both under-fueling (bonking) and over-fueling (GI distress). The calculator balances energy needs with digestive tolerance based on race duration.
Entering your body weight allows TrainPace to calculate more personalized carbohydrate recommendations (approximately 0.7g per kg per hour). Heavier runners may need slightly more fuel, while lighter runners may need less. Weight input is optional — the calculator provides solid defaults if you skip it.
Yes! Use the copy button to copy your fuel plan to clipboard for pasting into notes or messages. Or download it as a text file to keep in your phone for race day reference. Both options preserve your complete nutrition strategy including carbs/hour, total needs, and gel recommendations.
TrainPace is built as a Progressive Web App (PWA) with service worker caching for core functionality. Once you've visited the site, the Pace Calculator works offline. However, features requiring backend services (GPX upload with cloud storage, route sharing, Dashboard sync) require an internet connection.
TrainPace implements intelligent caching for elevation analysis. Static route data (elevation profile, distances) is stored once. When you adjust analysis parameters (base pace, grade thresholds), only lightweight calculations are re-run using cached data — no need to reprocess the entire GPX file. This makes parameter changes near-instant and saves API costs.
Uploaded GPX files are stored in Firebase Cloud Storage with secure access controls. Small files (under 1MB) also cache content directly in Firestore for faster loading. All data is linked to your Firebase Auth user ID, ensuring only you can access, modify, or delete your uploaded routes.
TrainPace is built with React 18 and TypeScript for type-safe development, Vite for lightning-fast builds, React Router 7 for navigation, Tailwind CSS + shadcn/ui for styling, Chart.js for elevation visualizations, Mapbox for course maps, Firebase for auth and storage, and Vercel for global CDN hosting.
Use the feedback form on the site or reach out via Instagram (@trainpace). Bug reports are prioritized for quick fixes. Feature requests are carefully considered — especially if they help make training easier for self-coached runners. The developer actively maintains TrainPace and ships updates regularly.
TrainPace is free and will always be free. The best way to support it is to share it with your running community, provide feedback, report bugs, and spread the word on social media. If you find it valuable for your training, let other runners know! Follow @trainpace on Instagram for updates and running tips.
Planned improvements include permanent deletion of routes, TCX/FIT file support, enhanced Dashboard filtering and search, more detailed elevation insights with grade-adjusted pace recommendations, training plan templates, and deeper integration between tools (e.g., auto-calculate paces from uploaded race GPX). Follow development progress on GitHub or Instagram for updates.
Every public page on this site has a Markdown mirror at the same path with a .md suffix (for example /calculator.md), and honors an Accept: text/markdown request header on the HTML URL. The calculations here are also available as callable tools through a free public MCP server — no account or API key.