A hero granddad died while shielding his loved ones from the El Paso shooter — taking bullets meant for his wife and 9-year-old granddaughter, according to his family

David Johnson, 63, was one of 20 killed at the Texas Walmart on Saturday, while his wife, Kathy, and granddaughter, Katie, both survived.

“He was surrounded by 3 gun shells. That could have been 1 each for him, my aunt, and my niece,” Johnson’s niece, Maria Mia Madera, wrote in a Facebook tribute.

“He protected them from that murderer. And worked as a shield. If he hadn’t have been there they wouldn’t have made it.

“Thank you for saving them,” she said, calling him “a hero to my family.”

Johnson’s nephew, Dominic Patridge, said his relative “gave the ultimate sacrifice.”

“My uncle saved my aunt and baby cousin’s lives by pushing them out of the way and taking a shot to the back,” he wrote.

“His last words directing my aunt to ‘Run towards Sams if something were to happen to him’ before being gunned down by a coward speaks volumes of the bravery he never once had to boast about, but instead lived every day of his life.”

“My heart is broken,” he wrote, saying his uncle will “forever be honored as a true hero.”

Authorities said they will seek the death penalty for shooting suspect Patrick Crusius, 21, and are treating the attack as a “domestic terrorist case.”