> ## Documentation Index
> Fetch the complete documentation index at: https://docs.zerokeyusb.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Edit a Credential

> How to open the editor, move the cursor, use the three keyboard pages, generate random passwords and save.

This guide details every operation in the on-device editor. If you just want to create your first credential, start with the [Create your first credential](/getting-started/first-credential) guide.

***

## Step 1 — Select the credential

From the main screen, navigate to the credential you want to edit using **Left/Right**. If you have many, hold **Left/Right** to jump 10 slots at a time.

<img src="https://mintcdn.com/depbit/p6YzZPVAl__6h8gW/images/steps/edit-credential-01-select.svg?fit=max&auto=format&n=p6YzZPVAl__6h8gW&q=85&s=20f69529948742b7b2e6a4f4998c1a01" alt="Selecting credential 4 (github)" width="884" height="283" data-path="images/steps/edit-credential-01-select.svg" />

*When the right credential is on screen (you'll see its number at the top left — here `4`), move on to the next step.*

***

## Step 2 — Select the field and open the editor

The active field shows as an inverted white block on the left (globe = site, silhouette = user, padlock = password, key = 2FA). Switch between fields with **Down/Up**:

* **Site** ↓ **User** ↓ **Pass** ↓ **2FA** (if the credential has TOTP)

When you're on the right field, **hold Center for \~1 second** to enter the editor.

<img src="https://mintcdn.com/depbit/p6YzZPVAl__6h8gW/images/steps/edit-credential-02-long-press.svg?fit=max&auto=format&n=p6YzZPVAl__6h8gW&q=85&s=3a65a7deb72a73ffb9c95c3332970419" alt="Long-press Center to open editor" width="884" height="283" data-path="images/steps/edit-credential-02-long-press.svg" />

*A **short** Center press types the field to the host (not what you want). A **long** press (\~800 ms, until you see the large halo) opens the editor.*

***

## Step 3 — Editor anatomy

The editor looks like this:

<img src="https://mintcdn.com/depbit/p6YzZPVAl__6h8gW/images/steps/edit-credential-03-anatomy.svg?fit=max&auto=format&n=p6YzZPVAl__6h8gW&q=85&s=3ab7ada33110542500f2f8dc88df6ccf" alt="Editor anatomy" width="884" height="283" data-path="images/steps/edit-credential-03-anatomy.svg" />

| Element         | Function                                                                                                                          |
| --------------- | --------------------------------------------------------------------------------------------------------------------------------- |
| Row 1           | Shows the current field content (**up to 32 chars**, scrolls horizontally past 16) with an inverted cursor at the insertion point |
| Row 2 — `<` `>` | Move the **field** cursor (insertion position)                                                                                    |
| Row 2 — KB1     | Uppercase keyboard: `A B C D E F G H I J K L M N O P`                                                                             |
| Row 3 — `Rand`  | Fills the field with strong random characters from the hardware TRNG (format set in Settings)                                     |
| Row 3 — KB2     | Lowercase keyboard: `a b c d e f g h i j k l m n o p`                                                                             |
| Row 4 — `Save`  | Saves changes and returns to the main view                                                                                        |
| Row 4 — KB3     | Numbers/symbols: `0 1 2 3 4 5 6 7 8 9 - + ! @ #`                                                                                  |

***

## Step 4 — Move the cursor across the keyboard

When you enter the editor, focus starts on KB1 (row 2). **Left/Right** move the keyboard cursor within the current row.

<img src="https://mintcdn.com/depbit/p6YzZPVAl__6h8gW/images/steps/edit-credential-04-cursor-keyboard.svg?fit=max&auto=format&n=p6YzZPVAl__6h8gW&q=85&s=b955182d46bedc0b8f32c19abe9685dc" alt="Keyboard cursor on L" width="884" height="283" data-path="images/steps/edit-credential-04-cursor-keyboard.svg" />

*Press **Right** to advance the keyboard cursor, **Left** to go back. At the end/start, the cursor jumps to the control in the adjacent row (`Rand`, `Save`, `<`, `>`).*

***

## Step 5 — Insert a character

With the desired character under the keyboard cursor, press **Center**. It gets inserted at the field cursor's current position, which then advances automatically.

<img src="https://mintcdn.com/depbit/p6YzZPVAl__6h8gW/images/steps/edit-credential-05-insert.svg?fit=max&auto=format&n=p6YzZPVAl__6h8gW&q=85&s=e511734029346498f5e83650917e8077" alt="Character L inserted" width="884" height="283" data-path="images/steps/edit-credential-05-insert.svg" />

*The `L` is inserted at position 5 of the field and the field cursor advances to position 6. If you wanted to replace instead of insert, read the next step.*

***

## Step 6 — Move the **field** cursor (not the keyboard)

Sometimes you want to edit characters in the middle of the field, not just append to the end. For that, use the `<` and `>` symbols on row 2.

<img src="https://mintcdn.com/depbit/p6YzZPVAl__6h8gW/images/steps/edit-credential-06-field-cursor.svg?fit=max&auto=format&n=p6YzZPVAl__6h8gW&q=85&s=9279cbddc712a85b1157b7b5c4232968" alt="Field cursor active" width="884" height="283" data-path="images/steps/edit-credential-06-field-cursor.svg" />

*Reach the `<` or `>` symbol with **Left** (from KB1) and press **Center**. The **field** cursor moves one position left or right. When it's on the position you want to edit, go back to KB1/KB2/KB3 and press **Center** on the new letter — it overwrites the existing one.*

<Tip>
  Keyboard insertions **overwrite** the character at the current position, they don't push existing content. So "deleting" a character is simply moving onto it and entering a space (KB3, first character).
</Tip>

***

## Step 7 — Generate a random password

For password fields, instead of typing letter by letter, use **Rand**. It generates a strong random password (**up to 32 characters**).

The **format** follows what you picked in **Settings → `Pwd:`** (see [Menu](/firmware/menu)). Six formats are available:

| Setting label       | Format                                                            | Example                            |
| ------------------- | ----------------------------------------------------------------- | ---------------------------------- |
| `Symbols` (default) | 32 chars from the full printable set (letters, digits, symbols)   | `t7#Kp!2r$Qm9^Za5Wd8&Bv3Ln6@Xj1Qz` |
| `Numeric`           | 32 digits                                                         | `48201937560428173905641820937584` |
| `a-z 0-9`           | 32 lowercase letters + digits                                     | `k3m9xq1z7r4p2n8wj5c6vb0hd1ft9gs2` |
| `Aa-z 0-9`          | 32 mixed-case letters + digits                                    | `Kp3Mx9Qz1Rt4Nb8yWd2Fc7Hj5Lv0Gs6R` |
| `Words`             | Capitalised BIP39 words joined by a random separator (`-_.!@#*+`) | `Ocean-Cargo-Mint-River-Sun`       |
| `Words+Num`         | Same, plus a 2-digit group after the first word                   | `River_28_Mango_Ocean_Tiger`       |

The word formats use a built-in word list and fit as many words as they can under 32 characters. `Rand` on the **site** or **user** fields always uses the full `Symbols` set regardless of this setting.

<img src="https://mintcdn.com/depbit/p6YzZPVAl__6h8gW/images/steps/edit-credential-07-rand.svg?fit=max&auto=format&n=p6YzZPVAl__6h8gW&q=85&s=77739fd914f2c6523876a54152f503c2" alt="Rand highlighted in editor" width="884" height="283" data-path="images/steps/edit-credential-07-rand.svg" />

*Navigate to `Rand` with **Down** from row 2. Press **Center**: the field fills up. If you don't like it, press **Center** again to regenerate.*

***

## Step 8 — Save

When you're done, navigate to `Save` (bottom-left corner) and press **Center**. The changes are encrypted with AES-128 CBC and written to EEPROM.

<img src="https://mintcdn.com/depbit/p6YzZPVAl__6h8gW/images/steps/edit-credential-08-save.svg?fit=max&auto=format&n=p6YzZPVAl__6h8gW&q=85&s=77099ad0b8fa476ff7fbc1b2523d8564" alt="Save highlighted" width="884" height="283" data-path="images/steps/edit-credential-08-save.svg" />

*The editor closes and you return to the main view. The credential now has the changes.*

<Warning>
  Leaving the editor without pressing **Save** **discards** the changes. There is no confirmation: the moment you change screen via any path other than `Save`, what you typed is lost.
</Warning>

***

## Shortcut table

| Action                   | How                                                          |
| ------------------------ | ------------------------------------------------------------ |
| Enter the editor         | Long-press **Center** on a field                             |
| Move keyboard cursor     | **Left/Right**                                               |
| Change row/keyboard      | **Up/Down**                                                  |
| Insert character         | **Center** on the letter                                     |
| Move **field** cursor    | **Center** on `<` or `>` (row 2)                             |
| "Delete" a character     | Move the cursor there and insert space (KB3 first character) |
| Generate random password | **Center** on `Rand`                                         |
| Save and exit            | **Center** on `Save`                                         |
| Discard changes          | Unplug USB before pressing Save                              |

***

## Next steps

<CardGroup cols={2}>
  <Card title="Set up 2FA" icon="clock" href="/getting-started/totp-codes">
    The TOTP field is imported over USB-CDC only, not editable on-device.
  </Card>

  <Card title="Create a backup" icon="cloud-arrow-down" href="/getting-started/creating-backups">
    Save your current state before editing many credentials.
  </Card>
</CardGroup>
