“Bad boy” in German is usually „böser Junge“ or „schlimmer Finger“ for a more idiomatic expression. „Unartiger Junge“ also works, but it sounds more like “naughty boy.”

Quick options

  • böser Junge = literal translation.
  • schlimmer Finger = slangy idiom, closer to “rascal” or “bad boy.”
  • unartiger Junge = “naughty boy.”

If you want, I can also give you the best translation for a nickname, insult, or flirtatious context.