Windows NIST Time Sync Utility

Keep your Windows computer synchronized with atomic clock accuracy

Free tool for traders, developers, and anyone who needs precise time

The Problem
  • Windows syncs time rarely by default, as seldom as once a week on many PCs
  • Clock drift can cause timestamp mismatches
  • VPS/VM servers often sync with inaccurate host clocks
  • Trading platforms need precise timestamps
  • Log correlation fails with drifted clocks
The Solution
  • Syncs with NIST atomic clocks every hour
  • Disables inaccurate VM time providers
  • Sets Windows Time service to auto-start
  • Works on desktops, laptops, and VPS servers
  • Double-click setup; it asks for permission and shows the result
Get Your Free Download

Enter your info and we'll email you the download link.

We respect your privacy. No spam, ever.

Atomic Clock Accuracy

Syncs directly with NIST (National Institute of Standards and Technology) time servers - the official U.S. time source.

Hourly Sync

Syncs every hour instead of Windows' default schedule, which can be as rare as once a week. Your clock stays within a fraction of a second.

VPS Compatible

Automatically disables VM time sync providers that can cause drift on virtual private servers.

How to Use

1Download

Get the zip file and extract it to your computer.

2Double-Click

Double-click sync_time_nist.bat and click Yes when Windows asks for permission.

3Done!

Review the results and press any key to close the window. Your computer now syncs with NIST every hour.

If Windows shows "Windows protected your PC," click More info, then Run anyway. To skip that warning, right-click the zip file before extracting it, choose Properties, check Unblock, and click OK.

What the Script Does

[start] Asks Windows for administrator permission, if not already granted

[1/7] Disables the VM Time Provider (virtual machines only)

[2/7] Sets the sync interval to 1 hour (3600 seconds)

[3/7] Caps the maximum poll interval at 4096 seconds (about 68 minutes)

[4/7] Sets time.nist.gov as the time source, with the flag that makes Windows use the hourly interval

[5/7] Sets the Windows Time service to start automatically

[6/7] Restarts the Windows Time service

[7/7] Forces an immediate sync, warns if it fails, and shows your settings and status

Frequently Asked Questions

Yes. The script only changes Windows Time service settings using standard Windows commands. It doesn't install any software, doesn't access the internet (except for time sync), and doesn't collect any data. It uses PowerShell only to ask Windows for administrator permission. You can open the .bat file in Notepad to review every command before running it.

Windows Time service settings are system-level configurations that require Administrator privileges to change. The script asks for permission automatically: just click Yes on the Windows prompt. If you click No, nothing is changed.

No. Windows SmartScreen shows this for most scripts downloaded from the internet. Click More info, then Run anyway. To avoid the warning, right-click the zip file before extracting it, choose Properties, check Unblock, and click OK. If you'd like to check the script first, open it in Notepad: it's plain text.

No. The script configures the Windows Time service to start automatically on boot. Run it once and you're set permanently (or until you reinstall Windows).

Probably not, and that's by design. Computers managed by an employer usually get their time from the company network, and company policy overrides these settings. This utility is meant for personal PCs and servers you control. If your work computer's clock is off, contact your IT department.

Your settings are still saved, and Windows will keep retrying. The usual cause is a firewall or network that blocks time sync, which uses UDP port 123. Some corporate, school, and hotel networks block it. Try again on a different network, or check your firewall and router settings.

Open Command Prompt as Administrator and run these commands:

w32tm /config /manualpeerlist:"time.windows.com,0x9" /syncfromflags:manual /update
reg add "HKLM\SYSTEM\CurrentControlSet\Services\W32Time\TimeProviders\NtpClient" /v SpecialPollInterval /t REG_DWORD /d 604800 /f
reg delete "HKLM\SYSTEM\CurrentControlSet\Services\W32Time\Config" /v MaxPollInterval /f
net stop w32time && net start w32time

This switches back to Microsoft's time server (time.windows.com), restores the once-a-week sync interval (604800 seconds) that Windows uses on many PCs, and removes the poll cap. On a virtual machine, the script also turned off the VM time provider. To turn it back on, run:

reg add "HKLM\SYSTEM\CurrentControlSet\Services\W32Time\TimeProviders\VMICTimeProvider" /v Enabled /t REG_DWORD /d 1 /f

NIST (National Institute of Standards and Technology) is a U.S. government agency that maintains the official time for the United States using atomic clocks. Their time servers (time.nist.gov) are free to use and extremely accurate.

Yes. It's tested on Windows 11, and it uses only standard built-in Windows commands that are also available on Windows 10 and Windows Server 2016 and later.
How to Verify It's Working

After running the script, you can check your time sync status anytime:

  1. Open Command Prompt (no admin required for this)
  2. Type: w32tm /query /status
  3. Look for Source: time.nist.gov,0x9 and a recent Last Successful Sync Time. After the first hour, it should never be more than about an hour old.

To see exactly how far your clock is from NIST, type:

w32tm /stripchart /computer:time.nist.gov /samples:5 /period:5 /dataonly

Each line shows your clock's offset in seconds. A few hundredths of a second is typical. (The 5-second spacing matters: NIST's servers ignore requests sent more often than every 4 seconds.)

Right after running the script, Root Dispersion may read several seconds. That's normal; it shrinks on its own over the next hour or so.

You can also visit time.gov to compare your system clock against the official U.S. time.

2,373 page views from Dec 2025