The 31-year-old, who can operate at right-back, left-back or as a holding midfielder, was released by Villarreal at the end of last season following the club's relegation.
He tweeted: "Excited to get to a big club! I'm looking forward to it. Mucho Betis!"
Lopez has played over 200 La Liga games during his career and has been capped five times by Spain at senior international level.