Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

iTechGuides is reader-supported. When you buy through links on our site, we may earn an affiliate commission. As an Amazon Associate I earn from qualifying purchases. Learn more

FiveM supports two different ways to attach actions to keys:

  • Client console binds, created with bind in the F8 console.
  • Resource key mappings, created by a server resource with Lua’s RegisterKeyMapping.

For a personal shortcut, use the F8 console. For a script feature that players should be able to edit, use RegisterKeyMapping. The distinction matters: a bind created with F8 does not automatically become a script key mapping, and a resource mapping may not exist when its resource is stopped.

Bind a command through the FiveM F8 console

  1. Join FiveM or remain at the client, then press F8 to open the client console.
  2. Use the documented three-part syntax:
    bind <mapper> <input> <command>
  3. For a normal keyboard key, use the keyboard mapper. For example:
    bind keyboard F9 "say hi"
  4. Press F9 to test the command.

The mapper is required. This is incomplete and should not be used:

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
bind F9 "say hi"

The correct form is:

bind keyboard F9 "say hi"

FiveM’s binding commands are ordinary user commands; developer mode is not required.

#1 Best Overall
Sale
Redragon Mechanical Gaming Keyboard Wired, 11 Programmable Backlit Modes, Hot-Swappable Red Switch, Anti-Ghosting, Double-Shot PBT Keycaps, Light Up Keyboard for PC Mac
  • Brilliant Color Illumination- With 11 unique backlights, choose the perfect ambiance for any mood. Adjust light speed and brightness among 5 levels for a comfortable environment, day or night. The double injection ABS keycaps ensure clear backlight and precise typing. From late-night tasks to immersive gaming, our mechanical keyboard enhances every experience
  • Support Macro Editing: The K671 Mechanical Gaming Keyboard can be macro editing, you can remap the keys function, set shortcuts, or combine multiple key functions in one key to get more efficient work and gaming. The LED Backlit Effects also can be adjusted by the software(note: the color can not be changed)
  • Hot-swappable Linear Red Switch- Our K671 gaming keyboard features red switch, which requires less force to press down and the keys feel smoother and easier to use. It's best for rpgs and mmo, imo games. You will get 4 spare switches and two red keycaps to exchange the key switch when it does not work.
  • Full keys Anti-ghosting- All keys can work simultaneously, easily complete any combining functions without conflicting keys. 12 multimedia key shortcuts allow you to quickly access to calculator/media/volume control/email
  • Professional After-Sales Service- We provide every Redragon customer with 24-Month Warranty , Please feel free to contact us when you meet any problem. We will spare no effort to provide the best service to every customer

Use a multi-action keybind

Place multiple commands inside one quoted command string and separate them with semicolons:

bind keyboard F9 "say hi; wait 250; say bye"

When you press F9, FiveM runs say hi, waits 250 milliseconds, and then runs say bye. This is useful for simple command sequences, although every command in the sequence must exist and be usable on the connected server.

For example, a roleplay server might provide its own commands:

Free tools Windows power users keep installed

One-click scans. No signup required.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
bind keyboard F6 "me checks the vehicle; wait 500; emote inspect"

That example only works if the server actually provides both me and emote in the expected form. Commands supplied by a resource can disappear when that resource is stopped, removed, or unavailable on another server.

List your current bindings

To display every client binding currently configured, open F8 and run:

bind

This is the quickest way to check whether a key is already assigned, identify the exact command attached to it, or confirm that your new bind was accepted.

Rank #2
Sale
Razer BlackWidow V4 X Mechanical Gaming Keyboard, Yellow Switches, Black
  • YELLOW MECHANICAL LINEAR SWITCHES: With zero distance between actuation and reset points at 1.2mm and only 45g of force required — enjoy instant, rapid-fire inputs that are just as quiet thanks to built-in sound dampeners
  • 6 DEDICATED MACRO KEYS: Expand the arsenal of commands with a set of easy-access macro keys that can be programmed to peferred playstyle
  • MULTI-FUNCTION ROLLER and SECONDARY MEDIA KEYS: Pause, play, skip, and tweak everything from brightness to volume for ultimate convenience
  • CHROMA RGB PER-KEY LIGHTING: With a switch construction that promotes brighter, even lighting, customize each key from over 16.8 million colors and effects—including dynamic lighting for hundreds of Chroma-integrated games
  • DOUBLESHOT ABS KEYCAPS: Using a doubleshot molding process to ensure the labeling never wears off while having extra-thick walls to withstand intense gaming

Remove a keybind

Use unbind with the same mapper and input:

unbind keyboard F9

Be careful: this removes all commands bound to that input. It is not a command-specific delete operation. If several actions use F9, they are all cleared together.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

After removing a binding, run:

bind

and check the output to verify that the key is no longer listed.

Supported keyboard names

Use FiveM’s documented input name rather than necessarily the label printed on the physical key. Common keyboard inputs include:

Key or group FiveM input names
Function keys F1 through F24
Navigation HOME, END, LEFT, RIGHT
Common controls SPACE, TAB, RETURN, ESCAPE
Modifiers LSHIFT, RSHIFT, LCONTROL, RCONTROL, LMENU, RMENU
Other examples NUMPAD0, OEM_3, BACKSLASH

Examples:

bind keyboard F10 "say status"
bind keyboard SPACE "say jump"
bind keyboard LCONTROL "say crouch"
bind keyboard OEM_3 "say console-key"

The keyboard mapper is commonly written as keyboard in console examples; the documented mapper name is KEYBOARD. FiveM also documents mouse, gamepad, joystick, and other mapper families, but keyboard bindings are the usual choice for command shortcuts.

Use an input from another mapper

The general syntax is unchanged:

bind <mapper> <input> <command>

FiveM documents mapper families including KEYBOARD, MOUSE_BUTTON, MOUSE_WHEEL, PAD_DIGITALBUTTON, and JOYSTICK_BUTTON. The exact input name must belong to the mapper you select. Axis mappers are documented, but currently have no use in FiveM according to the input-mapper reference.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Resource-scoped binds with rbind

rbind creates a bind associated with a particular resource:

Rank #3
Sale
AULA F75 Pro Wireless Mechanical Keyboard,75% Hot Swappable Custom Keyboard with Knob,RGB Backlit,Pre-lubed Reaper Switches,Side Printed PBT Keycaps,2.4GHz/USB-C/BT5.0 Mechanical Gaming Keyboards
  • Tri-mode Connection Keyboard: AULA F75 Pro wireless mechanical keyboards work with Bluetooth 5.0, 2.4GHz wireless and USB wired connection, can connect up to five devices at the same time, and easily switch by shortcut keys or side button. F75 Pro computer keyboard is suitable for PC, laptops, tablets, mobile phones, PS, XBOX etc, to meet all the needs of users. In addition, the rechargeable keyboard is equipped with a 4000mAh large-capacity battery, which has long-lasting battery life
  • Hot-swap Custom Keyboard: This custom mechanical keyboard with hot-swappable base supports 3-pin or 5-pin switches replacement. Even keyboard beginners can easily DIY there own keyboards without soldering issue. F75 Pro gaming keyboards equipped with pre-lubricated stabilizers and LEOBOG reaper switches, bring smooth typing feeling and pleasant creamy mechanical sound, provide fast response for exciting game
  • Advanced Structure and PCB Single Key Slotting: This thocky heavy mechanical keyboard features a advanced structure, extended integrated silicone pad, and PCB single key slotting, better optimizes resilience and stability, making the hand feel softer and more elastic. Five layers of filling silencer fills the gap between the PCB, the positioning plate and the shaft,effectively counteracting the cavity noise sound of the shaft hitting the positioning plate, and providing a solid feel
  • 16.8 Million RGB Backlit: F75 Pro light up led keyboard features 16.8 million RGB lighting color. With 16 pre-set lighting effects to add a great atmosphere to the game. And supports 10 cool music rhythm lighting effects with driver. Lighting brightness and speed can be adjusted by the knob or the FN + key combination. You can select the single color effect as wish. And you can turn off the backlight if you do not need it
  • Professional Gaming Keyboard: No matter the outlook, the construction, or the function, F75 Pro mechanical keyboard is definitely a professional gaming keyboard. This 81-key 75% layout compact keyboard can save more desktop space while retaining the necessary arrow keys for gaming. Additionally, with the multi-function knob, you can easily control the backlight and Media. Keys macro programmable, you can customize the function of single key or key combination function through F75 driver to increase the probability of winning the game and improve the work efficiency. N key rollover, and supports WIN key lock to prevent accidental touches in intense games
rbind <resource> <mapper> <input> <command>

For example:

rbind runcode keyboard O "say hi"

This is conditional. The command runs only while the named resource is in use on the connected server. If the resource is stopped, missing, or not part of the server you joined, the key may appear to do nothing.

Use rbind when the action belongs specifically to a resource. Use ordinary bind for a personal client shortcut that should not depend on one resource’s active state.

Client binds versus script key mappings

Feature F8 console bind RegisterKeyMapping
Created by The player in the client console A running resource
Typical use Personal command shortcuts Player-editable controls for a script feature
Scope Client binding Command exposed by the resource
Resource dependency Only if the bound command comes from a resource Yes; the resource registers the mapping
Configuration ownership The individual player The resource supplies the default and description

A command that works from F8 but not from a script may be using the wrong mechanism, or the resource may not be running. Conversely, a script’s key mapping is not created by typing a normal bind command.

What’s actually slowing this PC down?

Pick the symptom - the matching free tool is one click away.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Create a key mapping in Lua

A resource can expose a user-editable mapping with RegisterKeyMapping:

RegisterKeyMapping('+handsup', 'Hands Up', 'keyboard', 'i')

The arguments are the command, a description shown to the player, the mapper, and the default input. The command should normally be registered as well:

RegisterCommand('+handsup', function(source, args, rawCommand)
    handsUp = true
end, false)

RegisterCommand('-handsup', function(source, args, rawCommand)
    handsUp = false
end, false)

RegisterKeyMapping('+handsup', 'Hands Up', 'keyboard', 'i')

In this hold-to-use pattern, FiveM invokes the + command when the key is pressed and the matching - command when it is released. The resource can then use the handsUp state in its gameplay loop.

Rank #4
Sale
Redragon K580 Wired RGB Mechanical Gaming Keyboard, Macro Key & Media Wheel
  • Record Combos On the Fly, No Software Required - 5 dedicated macro keys (G1-G5) let you save complex combos or shortcuts directly on the keyboard, plus dedicated media controls for play/pause/skip.
  • Swap Switches Without Soldering, Hype Clicky Feedback - The upgraded socket accepts almost any switch, and stock Blue switches deliver a distinct tactile bump and audible click on every keystroke.
  • Built to Outlast Daily Gaming - Rated for 50 million keystrokes with double-shot keycaps that resist fading, so the board holds up to years of heavy use.
  • Full Anti-Ghosting for Fast-Paced Games - 104 keys register accurately even during rapid multi-key combos, so your inputs land exactly when you press them.
  • Optional Software for Power Users - Everyday use needs zero software, but for advanced RGB effects and deeper macro profiles, companion software is available whenever you want to go further.

For a one-shot action, a normal command can be mapped:

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
RegisterCommand('sayhi', function()
    TriggerEvent('chat:addMessage', {
        args = {'SYSTEM', 'Hello'}
    })
end, false)

RegisterKeyMapping('sayhi', 'Say hello', 'keyboard', 'o')

RegisterCommand is preferred over the older chatMessage-based approach because it integrates with command completion, console use, and ACL/security handling.

Restrict a script command

The third argument to RegisterCommand, called restricted, is Boolean:

RegisterCommand('adminannounce', function(source, args)
    -- administrator-only action
end, true)

When it is true, the command requires the matching command.adminannounce ACL permission. Use false for an ordinary player command, and do not rely on hiding a keybind as a security measure. Permission checks belong in the command or server-side logic.

Why a bind may not work

  1. The mapper was omitted. Use bind keyboard F9 "say hi", not bind F9 "say hi".
  2. The key name is invalid. Try a documented name such as F9, SPACE, or LCONTROL.
  3. The key is already assigned. Run bind before changing anything. If you use unbind keyboard F9, remember that every command on F9 will be removed.
  4. The command belongs to a resource. A server-provided command may not exist when its resource is stopped or on a different server.
  5. An rbind is inactive. Check the resource name and confirm that the resource is currently running.
  6. You are testing the wrong mechanism. F8 bind and script-side RegisterKeyMapping are separate systems.
  7. The command itself is restricted or unavailable. Some commands require permissions or are not enabled in the current environment. User binding commands do not require developer mode, but unrelated developer commands can produce access-denied or production-mode errors.
Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Support on Ko-Fi

Practical binding workflow

  1. Identify the command you want to run and test it directly in F8.
  2. Check existing bindings with bind.
  3. Choose an unused, documented input name.
  4. Create the binding with the mapper included:
    bind keyboard F7 "your_command"
  5. Press the key in the situation where the command should work.
  6. If it fails, test the command directly again. This separates a key-binding problem from a command or resource problem.
  7. Use unbind keyboard F7 only when you are comfortable clearing every action assigned to F7.

Where FiveM stores bindings

Archived Cfx.re documentation states that additional user settings, including bindings, were stored in:

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
%AppData%CitizenFXfivem.cfg

That reference comes from a January 2020 archived article, so it should not be treated as a guaranteed path for every current FiveM build. Prefer the F8 commands for inspecting and changing bindings rather than editing a configuration file by hand.

Best Value
Sale
Logitech G213 Prodigy Wired RGB Gaming Keyboard - Black
  • Personalize 5 customizable lighting zones with over 16.8M colors to match your setup or game and synchronize backlit lighting effects with other Logitech G devices using Logitech G Hub
  • G213 Prodigy is a full-sized keyboard designed for gaming and productivity, with a slim body built for gamers of all levels and durable construction to repel liquids, crumbs, and dirt for easy cleanup
  • Each key is tuned to enhance the tactile experience, delivering ultra-quick, responsive feedback while the anti-ghosting gaming matrix is tuned for optimal gaming performance, keeping you in control
  • G213 gaming keyboard features dedicated media controls that can play, pause, and mute music and videos instantly; easily adjust the volume or skip to the next song with the touch of a button
  • Customize lighting, game mode, and macro programming with Logitech G HUB software and stay comfortable during long gaming sessions thanks to an integrated palm rest and adjustable keyboard feet

FAQ

Do FiveM bind commands require developer mode?

No. The documented user commands bind, rbind, and unbind can be used from the F8 console without enabling developer mode.

What is the correct syntax for a FiveM keyboard bind?

Use bind keyboard KEY "command", such as bind keyboard F9 "say hi". The mapper is required.

How do I see all my FiveM keybinds?

Press F8 and enter bind by itself. FiveM prints the configured client bindings.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

How do I remove one FiveM keybind?

Run unbind keyboard F9, replacing F9 with your input. This removes all commands assigned to that input, not just one selected command.

Why does an rbind not work?

An rbind is tied to a resource and runs only while that resource is active on the connected server. Check the resource name and its running state.

Can a FiveM script add an editable keybind?

Yes. A resource can call RegisterKeyMapping, usually alongside RegisterCommand. For hold actions, scripts commonly map matching + and - commands.

The Bottom Line

For a personal shortcut, open F8 and use bind keyboard <key> "<command>". Run bind to inspect mappings and remember that unbind clears every command on the specified input. Use rbind only when the action should depend on a resource. If you are developing a resource, expose player-editable controls with RegisterKeyMapping instead of expecting players to create the mapping manually.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.