Place the eggs in a pot and cover them with cold water. Bring to a boil over medium-high heat. Once boiling, cover the pot, remove it from heat, and let it sit for 12 minutes.
After 12 minutes, transfer the eggs to an ice bath to cool for about 5 minutes. Once cooled, peel the eggs and chop them into small pieces.
In a large mixing bowl, combine the chopped eggs, mayonnaise, Dijon mustard, lemon juice, celery, red onion, salt, and pepper. Stir until well combined.
If using, fold in the fresh dill or parsley for added flavor.
Taste and adjust seasoning if necessary. Serve immediately or refrigerate for at least 30 minutes to allow flavors to meld.