Trump announced the move in a tweet.
"I informed John Bolton last night that his services are no longer needed at the White House," he wrote. "I disagreed strongly with many of his suggestions, as did others in the administration, and therefore I asked John for his resignation, which was given to me this morning.
"I thank John very much for his service. I will be naming a new national security adviser next week."
Bolton confirmed his departure in a tweet.
"I offered to resign last night and President Trump said, 'Let's talk about it tomorrow.'"
Earlier Tuesday, the White House press office said Bolton would appear with Secretary of State Mike Pompeo and Treasury Secretary Steve Mnuchin at a briefing.