Fix it now
These codes appear the instant you submit a key, before anything reaches Microsoft. Microsoft publishes no meaning for them, but the timing tells you what you need: the string was rejected locally, nothing was sent, no activation was consumed, and the key on your card or in your order email is very probably fine. Retype it.
cscript //nologo %windir%\system32\slmgr.vbs /ipk XXXXX-XXXXX-XXXXX-XXXXX-XXXXX
- Type the key by hand rather than pasting it, at
Settings > System > Activation > Change product key. Enter only the 25 characters; the box inserts the dashes for you. - Check the look-alike pairs one group at a time: 0 and O, 1 and I, 5 and S, 8 and B, 2 and Z, 6 and G.
- If the key arrived by email or in a PDF, paste it into Notepad first to strip formatting, then retype it from there. Microsoft names em dashes substituted for hyphens as a cause of a rejected key.
- If it still fails, install it from the command line instead.
slmgrreturns a specific code that the Settings page does not.
Do not run slmgr /upk to clear the existing key first. Microsoft documents that the system enters the Unlicensed state after the next restart, so you would be removing a working licence to install one that is not working yet.
If the key installs, you can stop here. If a correctly typed key is still refused, the next section covers what else produces a local rejection.
Why it happens
A Windows product key has a fixed shape: 25 characters, shown as five groups of five, joined by hyphens that exist for readability. Before contacting anything, Windows checks that shape and validates the characters. Both tests run on your machine, and both exist so that an obviously mistyped key does not generate a pointless round trip.
Microsoft does not publish a meaning for 0x803FA077, 0x803FA078, 0x803FA07A or 0x803FA068, so the number is not what identifies your problem – the timing is. These appear immediately, with no pause for a network round trip, from the Settings activation page and the Store rather than from the older activation dialogs. A rejection with no delay means the string never left the machine.
The practical consequence is good news, and it is the reason this article recommends nothing that costs money. A key that was never sent has not been marked as used, counted against a pool, or refused by any server. You can retry as often as you like. Microsoft’s volume activation guidance names one specific transcription fault – em dashes substituted for the hyphens when a key is copied out of a formatted document – as a cause of a rejected key, which is worth knowing because it is invisible on screen.
A look-alike character was misread
You have this one if The key came from a printed card, a sticker or a photograph, and one group refuses to be accepted however carefully you retype it.
- Work group by group rather than reading the whole key at once. Five characters at a time is far more reliable.
- Treat every rounded character as suspect: 0 and O, 1 and I, 5 and S, 8 and B, 2 and Z, 6 and G.
- If the label is faded, tilt it under a strong light. The impression is often readable when the ink is not.
- Enter it with
cscript //nologo %windir%\system32\slmgr.vbs /ipkso you get a specific code rather than a generic message.
Invisible characters came along with a paste
You have this one if The key looks perfect on screen and is rejected every time you paste it, while typing the same characters by hand works.
- Paste into Notepad first, which strips formatting, before pasting anywhere else.
- Delete any trailing space. A space after the final character is the commonest single cause of this.
- Watch for a key that wrapped across two lines in an email; the line break travels with it.
- Type the key without hyphens and let the dialog add its own. Microsoft names substituted dashes as a documented cause of a rejected key.
The string is not a product key at all
You have this one if The value came from a portal, an invoice or a support ticket and is longer, shorter or grouped differently from five blocks of five.
- Compare the shape first. Anything that is not 25 characters in five groups of five is a different identifier.
- The product ID shown on the activation page is not a key and cannot activate anything.
- An installation ID is the long value produced by
slmgr /dtifor offline activation, and a confirmation ID is the reply to it. Neither belongs in the key box. - A digital licence has no key at all. If your entitlement is tied to a Microsoft account there is nothing to type; sign in instead.
Windows, Office, Windows Server and ESU keys all share the same 25-character shape and are easily confused in a folder of order emails. Check which product the key was issued for before blaming the key.
The local licensing store is damaged
You have this one if Known-good keys are refused on this machine but work on another, and the activation page is slow or blank.
- Reinstall the system licence files from an elevated prompt:
slmgr /rilc. It does not touch your product key. - Repair the component store:
DISM /Online /Cleanup-Image /RestoreHealth, thensfc /scannow. - Restart the licensing service:
net stop sppsvcthennet start sppsvc. - Reboot and try the key once more through Settings.
Full reference
Reading the failure by when it happens
| What you observe | Where the fault is |
|---|---|
| The error appears instantly, with no pause | A local check. The string itself is the problem |
| The box will not accept a 26th character | You typed the dashes as well as the characters |
| A pasted key fails but the same key typed by hand works | Hidden whitespace or a substituted character in the source text |
| The key is accepted and activation then fails with a 0xC004 code | Format was fine. The problem has moved to entitlement |
| Every key fails on this machine and works elsewhere | The local licensing store, not the keys |
Three supported ways to enter a key
| Method | Syntax or path | When to use it |
|---|---|---|
| Settings | Settings > System > Activation > Change product key |
Normal use, and the only way that inserts the dashes for you |
| changepk | changepk.exe /ProductKey <key> |
Scripted entry on Windows client, documented for edition changes |
| slmgr | cscript.exe c:\windows\system32\slmgr.vbs /ipk <key> |
When you need the specific error code rather than a friendly message |
The cscript form is Microsoft’s own, taken from its edition-upgrade documentation. Run bare, slmgr reports through the default Windows script host and puts its answer in a dialog box you cannot copy from, which is exactly what you do not want while diagnosing a key.
Do not run slmgr /upk speculatively. Microsoft documents that after a restart the system enters the Unlicensed state unless a new key is installed. Uninstalling a working key to make room for one you have not yet got working is how a small problem becomes a large one.
What these codes do not mean
- They do not mean the key is used up. Nothing was sent, so nothing was counted.
- They do not mean the key is blocked. A block is reported by 0xC004F051 or 0xC004C003, after the key has installed.
- They do not mean you need a new licence. If someone is quoting you a price on the strength of a 0x803FA077, they have not read the error.
- They do not mean the edition is wrong. An edition mismatch is a different failure and generally reports one of the 0xC004 codes.
- They do not mean anything published, in fact. Microsoft does not document these numbers, so work from the behaviour instead.
If the sticker is unreadable
Machines sold with Windows preinstalled since Windows 8 normally carry the key in firmware rather than on a label. The usual way to read it is (Get-CimInstance -ClassName SoftwareLicensingService).OA3xOriginalProductKey in PowerShell – worth knowing that this property is not in Microsoft’s published SoftwareLicensingService class reference, so treat a blank result as inconclusive rather than as proof there is no key. If nothing comes back, the machine either has a digital licence tied to the hardware, in which case no key is needed at all, or the manufacturer is the right place to ask.
Every code this article covers
| Code | What it points at | Source |
|---|---|---|
0x803FA077 |
Returned immediately when a submitted product key is rejected locally, before any activation attempt is made. Microsoft publishes no meaning for it | not published by the vendor |
0x803FA078 |
The same local rejection reported from a different entry point, typically the Store or the Settings activation page. No published meaning | not published by the vendor |
0x803FA07A |
Seen at the same stage when a structurally acceptable string still fails local validation. No published meaning | not published by the vendor |
0x803FA068 |
Reported by the licensing front end about the key data supplied with a request. No published meaning | not published by the vendor |
Confirm the fix worked
slmgr /dlishows the last five characters of the key you meant to install.- Licence Status reads Licensed on
Settings > System > Activation. slmgr /xprreports permanent activation rather than a countdown.- Reboot once and re-check, to be sure the state survives a restart.
Questions people ask about this
Have I burned an activation by entering the key wrongly?
No. The rejection happens before anything is sent to Microsoft, so the key was never presented, never checked against a pool and never counted. Retry as often as you need to.
Does fixing this cost anything?
No. This is a local rejection and every fix here uses tools already on the machine. If you are being told to buy a new key because of one of these codes, that advice is wrong. Licensing only enters the picture if re-entry succeeds and activation then fails for a different reason.
Do I have to type the dashes?
No, and you should not. The Settings dialog inserts them as you type, so typing them yourself pushes the string past 25 characters. Microsoft separately names em dashes substituted for hyphens as a cause of a rejected key, which is another reason to let the dialog supply its own.
What do these codes actually mean?
Microsoft does not publish meanings for any of the four, so nobody can tell you honestly. What is reliable is the timing: an instant rejection with no network delay is a local one, and a local one is free to fix.
The sticker on my old laptop is unreadable. What now?
Machines sold with Windows preinstalled since Windows 8 normally carry the key in firmware rather than on a label. Query the SoftwareLicensingService class in PowerShell for it – noting that the property is not in Microsoft’s published reference, so a blank result is inconclusive. If nothing comes back, the machine may hold a digital licence and need no key at all.
