Karlsson started a stroke behind first-round leader David Mathis and carded six birdies and a bogey to reach 9 under. The Swede has played his first six career rounds at TPC Southwind under par with this his lowest score yet.
Colt Knost (68) and Keegan Bradley (67) tied for second.
John Merrick (69) was 5 under, and Fredrik Jacobson (65) and Harrison Frazar (65) were another stroke back. Brandt Snedeker, The Heritage winner in April, shot 66 to top the group at 3 under that included Mathis (72). With 83 making the cut at 2 over, David Toms (5 over) and Sergio Garcia (7 over) were among those who made an early departure for Congressional.
Starting at 4 under and teeing off on No. 10, Karlsson birdied his second hole and finished the back side with birdies on three of the final four holes. He hit an 8-iron to 8 feet on the par-3 11th to set up his first birdie. He saved par on Nos. 12-14 and then hit a wedge from 106 yards to 7 feet to take advantage of a front pin position on the par-4 15th to start his birdie string.
Karlsson found the rough with his tee shot on the par-5 16th but he recovered by hitting a wedge from 124 to 5 feet for a second straight birdie. He stuck a 7-iron from 175 yards to 4 feet on the par-4 18th to reach 8 under.
He made the turn and birdied the par-4 first after hitting his second shot within 4 feet of the pin despite being 124 yards out in the primary rough. When Karlsson rolled in a 14-footer on No. 6 for birdie, he became the first player to reach double digits below par at 10 under.