Historical Record Date Normalizer
Free to download on every platform. Comes pre-installed on BotFone, BotPad and BotFlip — with extra free apps included.
About this app
WHAT IT DOES
Historical Record Date Normalizer is a specialized tool that automatically detects and normalizes dates found on genealogy and historical record pages. It scans the page for date strings in a wide variety of formats—including "5 Aug 1842", "08/05/1842", "August 5, 1842", "1842-08-05", "5 August 1842", and many others—and parses them using fuzzy date parsing logic. The tool then displays a panel showing each original date alongside its normalized version in your chosen format (YYYY-MM-DD, DD MMM YYYY, MMM DD, YYYY, or DD Month YYYY). Each result includes a confidence percentage indicating the parsing certainty—green for high confidence, yellow for medium, red for low. You can highlight all dates on the page with a visual overlay that shows the normalized value in a tooltip, making it easy to review and verify dates at a glance. Perfect for genealogists, historians, and researchers working with inconsistent date formats.
WHERE IT RUNS
This script runs on any webpage that contains historical dates—genealogy record pages, census records, vital records, archival documents, family history websites, and historical databases. It operates entirely within your browser tab, scanning the page's text content for date patterns. The script cannot access other tabs, your browsing history, bookmarks, downloads, or any data outside the current page. All settings—including output format, confidence threshold, highlight preference, and auto-normalize preference—are stored locally using GM_setValue and never transmitted anywhere.
HOW TO USE
After installing with the BotGentz extension, the script automatically detects and normalizes dates on any page you view (if auto-normalize is enabled). Click "Normalize Dates" to manually trigger the scan. The panel displays a list of all detected dates with their original text, normalized value, and a confidence indicator. A colored dot next to each date shows the parsing confidence—green (high), yellow (medium), or red (low). Use the output format dropdown to switch between normalization styles; the list updates when you re-scan. Toggle "Highlight Dates on Page" to add a yellow highlight with tooltips showing the normalized value for every date on the page. Click "Copy All Normalized Dates" to copy the full conversion list, or "Copy Only Normalized Values" to copy just the standardized dates. Adjust the confidence threshold to show only dates that meet your desired certainty level.
THE REAL MECHANISM
The script uses a multi-pattern date parsing engine that attempts to match common historical date formats in order of specificity. It first checks for ISO-8601 format (YYYY-MM-DD), then US/UK slash or dot-separated formats (MM/DD/YYYY and DD/MM/YYYY) with 80-90% confidence depending on the interpretation. Next, it matches natural language formats including "DD MMM YYYY" (5 Aug 1842), "MMM DD, YYYY" (Aug 5, 1842), and "Month YYYY" (August 1842). The parser also handles single-year dates (YYYY) and partial dates (YYYY-MM). For each match, the script validates the date components (year between 1000-2100, month 1-12, day within month range) and assigns a confidence score based on the pattern specificity and parsing certainty. The confidence threshold filter (default 60%) ensures only reasonably reliable dates are shown. The highlighting engine wraps each detected date in a DOM span with a normalized value stored in the title attribute, creating a tooltip. All rendering uses safe DOM manipulation with no innerHTML from untrusted content.
THE PANEL
The Date Normalizer panel is a BGPanel component that you can drag anywhere on your screen by its header. It snaps to the nearest edge when released, keeping your workspace organized. The panel collapses to a small bubble showing only the emoji icon when minimised—click to expand it again. You can resize the panel horizontally to see more of the date list. Press the Escape key to collapse the panel instantly. Your panel position and size are saved per-site.
PLEASE NOTE
This script requires the free BotGentz browser extension to function. Date parsing in historical records can be challenging due to varying regional formats, abbreviations, and occasional typos. The confidence score helps identify ambiguous dates—always verify critical dates against the original source. The script is designed for dates between 1000 and 2100 CE; dates outside this range may not be recognized. The script never reads or writes password fields, hidden inputs, or file inputs. It stores only your output format, confidence threshold, highlight preference, and auto-normalize preference locally. No date content, record data, or personal information is ever collected, transmitted, or shared.