Mileage Log
Log a trip's date, purpose, and distance, and get a running IRS-mileage-rate deduction total and a clean export at tax time — entirely offline, no account, no GPS tracking running in the background.
Log each trip by hand — odometer start/end or a direct mileage number, your choice — tag it business or personal, and watch a running deductible total build using the correct IRS standard mileage rate for that trip's date. When it's time to file, filter to a date range and export a clean CSV or print a client-ready summary using your browser's own print function. Entries live in this browser's local storage, with JSON export/import to move your data to another device — no account, no cloud sync, and no background location tracking of any kind.
What it does
Every mainstream mileage app in this category — MileIQ, Everlance, TripLog, Stride — is built around automatic GPS trip detection, which means it needs to run in the background on your phone, know your location continuously, and (for the paid ones) charge a recurring fee for the privilege. That's a genuinely different product than what this tool is. This is a fast, manual log: you type in a trip after you drive it, the same way people have kept mileage logs for decades, except the arithmetic and the current IRS rate are handled for you instead of done by hand.
Who it's for: a contractor, freelancer, or small-business owner who drives to job sites, client meetings, or supply runs through the year and wants a single, correct, exportable record to hand their accountant in April — without installing an app, creating an account, or granting a phone continuous access to their location.
Example scenario: a contractor logs a trip to a job site the same evening they drove it — odometer start and end, or just the miles if that's easier — tags it Business, and picks a client/purpose from a dropdown that remembers past entries. A grocery run over the weekend gets logged too, tagged Personal, so the log stays complete without inflating the deduction. At tax time, the contractor filters to the calendar year, checks the year-to-date deductible total against the live preview, and clicks "Print / Save as PDF" to hand the accountant a clean, itemized mileage summary — or exports the same data as a CSV.
What it explicitly does not do: it does not track your driving automatically — there is no GPS, no background tracking, and no way for a browser tab to detect that you got in a car, so every trip is logged by hand, on purpose; it does not classify trips as business or personal for you (you make that call, same as you would in a paper log); it does not file anything with the IRS or generate a tax return, only a clean record to hand to whoever does; it does not sync across devices on its own (JSON export/import moves data between devices manually, deliberately, since there's no server to sync through); and it ships with a fixed, built-in table of IRS mileage rates for 2025–2026 that does not silently update itself — a future tax year's rate has to be added to a future version of this file (see the FAQ below for exactly how this is handled and flagged).
Features
- Log a trip two ways — odometer start/end (auto-calculates the distance) or a direct mileage number — whichever is faster in the moment.
- Business/personal toggle per trip, so the log stays complete without inflating the deduction — personal trips are recorded but never counted toward the dollar total.
- Deductible value computed automatically using the IRS standard mileage rate in effect on each trip's own date — including the genuine mid-2026 rate change (72.5¢/mi through June, 76¢/mi from July on) — with the applied rate locked to the trip at the moment it's saved, so a future rate-table update never silently changes an already-logged trip's dollar value.
- A dedicated year-to-date deductible total, always visible, separate from whatever date filter is applied to the trip list below it.
- One-click "Print / Save as PDF" of a clean, chronological mileage summary — itemized by date, purpose, type, miles, rate, and deductible amount — using your browser's own native print engine, no PDF library required.
- CSV export of the currently filtered trips, plus a full JSON export/import so your data can move between devices without ever touching a server.
- Built-in validation (blocks a missing date or purpose, and an end odometer reading that isn't greater than the start) plus a visible flag on any trip whose date falls outside the tool's known rate table, so an estimated rate is never presented as certain.
Browser support
| Platform | Result | Notes |
|---|---|---|
| Desktop Chrome (Chromium engine, automated) | Verified working | Full functional test suite run via Playwright's Chromium browser: logging trips in both Odometer and Direct-mileage modes, business/personal category toggle, live running totals checked against hand-calculated expected values across a multi-month, mixed-rate dataset (business miles, personal miles, and total deductible all matched exactly, including a case spanning the actual 2026 mid-year IRS rate change), zero/invalid-odometer validation blocking save with a visible error banner, end-odometer-before-start-odometer validation, missing-purpose and missing-date validation, edit-in-place round trip, delete, CSV export (correct header, columns, and values), a full JSON export → clear all → re-import round trip restoring the exact same trips and dollar totals, a corrupted-JSON import correctly rejected with a clear message and zero data loss, a valid-but-wrong-shape JSON file correctly rejected the same way, keyboard tab order through the form and Enter-key-submits-the-form both confirmed, focus correctly landing on the first invalid field after a blocked submit, a 264-trip/full-year performance test (added and rendered/filtered correctly, final render well under 100ms), print-media emulation confirming only the summary panel is shown and positioned correctly (not offset — see the bug note below), and zero console errors or page errors across the entire run. |
| Desktop Chrome (real Google Chrome.app) | Verified working (visual) | Opened the actual installed application (confirmed frontmost via Chrome's own AppleScript `URL of active tab of front window`, not System Events) and visually confirmed clean load, correct layout, and correct rendering via screenshot. |
| Desktop Safari (real Safari.app, WebKit engine) | Verified working (visual) | Opened the actual installed application (confirmed frontmost via Safari's own AppleScript `URL of front document`) and visually confirmed clean load, correct layout, fonts, and form rendering via screenshot. The tool uses no Chromium-specific APIs (plain DOM, `localStorage`, standard form/date/number inputs, `@media print`), so the WebKit render being visually correct is a meaningful, not just cosmetic, check. |
| Desktop Firefox (real Firefox.app, Gecko engine) | Verified working (visual) | Firefox's AppleScript dictionary doesn't expose a tab-URL property, so frontmost-window identity was instead confirmed via its own `name of front window` (returned exactly "Mileage Log," the page's ` |
| Print / Save-as-PDF output | Verified working | Rendered via Chromium's print-media emulation and its native PDF pipeline: confirmed the summary fills the page from the top-left in normal document flow (bounding box `{x:0, y:0}`, not offset into empty space), grouped chronologically with per-trip rate and deductible columns, a business/personal mileage split, and a grand total. The print pipeline deliberately reuses the exact fix already verified in Invoice Generator and Timesheet (`display:none` on everything but the preview element, kept in normal flow, rather than the `position:absolute`-on-a-`position:sticky`-ancestor trick) — reused a third time on purpose instead of re-discovering the same bug. |
| Small-viewport / touch (390×844, emulated) | Verified working | A real bug was caught and fixed here (see below): the live summary preview panel initially caused a genuine 34px horizontal page overflow at this width, confirmed via direct `scrollWidth`/`clientWidth` measurement, not eyeballing. After the fix, overflow measures exactly 0px on both the empty state and with a real multi-trip dataset. Layout confirmed responsive via screenshot. |
| Dark mode (`prefers-color-scheme: dark`) | Verified working | Editor UI switches to the dark palette correctly; the summary preview itself was confirmed via computed style to stay pure white (`rgb(255,255,255)`) regardless of theme — the print output is deliberately theme-independent, same convention as Invoice Generator, Timesheet, and EXIF/GPS Stripper. |
| iOS Safari | Not tested | No iOS device or simulator available on this machine — do not claim iOS support until checked on a real device. This is a genuine open item worth flagging harder than usual for this specific tool: a mileage log is plausibly used more on a phone than most tools in this line, since the natural moment to log a trip is right after driving it, not back at a desk. |
| Android Chrome | Full | Tested on a real Android device in Chrome — works. |
Plain-language summary for the listing: Verified on desktop Chrome (including a full automated test of every feature — logging, math across a real IRS rate change, validation, editing, deleting, CSV/JSON export and re-import, bad-file handling, keyboard flow, print, and a 264-trip performance run), and visually confirmed on desktop Safari and Firefox. Not yet verified on a physical iOS or Android device. That matters more here than for most tools in this line — logging a trip is a thing people do from their phone, right after driving — so if you're planning to use this primarily on mobile, know that it hasn't been hands-on tested there yet, even though it's built with only standard, widely-supported web features.
FAQ
Does this auto-track my driving?
No, and this is worth being direct about: a browser tab has no way to detect that you're in a car or record your location in the background — that's an OS-level capability a website simply doesn't have. Every trip in this tool is logged by hand, right after you drive it (or whenever you get to it). If you specifically want automatic GPS detection, a tool like MileIQ, Everlance, TripLog, or Stride does that — usually in exchange for a recurring subscription and continuous background location access, which is exactly the tradeoff this tool is built to avoid.
Does my data get uploaded anywhere?
No. This is a single HTML file with zero network requests — open your browser's developer tools and watch the network tab if you want to verify it yourself. Every trip is saved only in this browser's local storage, on your own machine.
Is the mileage rate kept current?
The file you download has the IRS rates for 2025 and 2026 built in — including 2026's actual mid-year change, which is genuinely unusual (the IRS normally sets one rate per year). For a trip dated outside that range, the tool uses the nearest known rate and flags it clearly, both in the trip table (an asterisk with a tooltip) and on the printed summary, rather than presenting a guess as fact. It does not silently reach out to the internet to check for a new rate — it can't, by design, since it makes no network requests at all. When a new tax year's rate is announced, a refreshed version of this file with the updated table is the way to get it; always cross-check against irs.gov before filing regardless.
Does this work on my iPhone/iPad?
It hasn't been verified on a physical iOS device yet — see the platform-support table above. It's built with only standard web features (plain HTML forms, `localStorage`, CSS print styles), so it's likely to work, and mobile is arguably where this specific tool gets used most, since logging a trip is naturally a right-after-you-drove-it action — but this tool doesn't claim iOS support until that's confirmed hands-on.
Can I use this for client or commercial work?
Yes. Every log and summary you generate is entirely yours — no attribution required, no restriction on commercial or client-facing use.
Is there a subscription?
No. This is a one-time purchase of a single, self-contained HTML file. No recurring charges, no per-mile fee, no feature paywall.
- ✓ Runs 100% offline in your browser
- ✓ Single HTML file — no install, no dependencies
- ✓ No account, no telemetry, no tracking
- ✓ Buy once — yours forever
After checkout you get an instant download link. Open the file in any modern browser and it just works.
Pairs well with
✓ runs entirely on your device — Wi-Fi off? Still works.
accounts sign-ups cloud uploads none
✓ your files stay where you put them
Prefer to try before buying? The browser versions of every tool run free at tools.untracked.tools — no upload, ever.