Flag burning (or other types of desecration of national flags) is a form of speech. It may not be a very refined or profound expression of opinions or ideas, but it is an expression nevertheless. Flag burning expresses disgust and hatred for a certain country or a country’s government and policies. It’s typically a very emotional form of speech, devoid of rational argument and reduced to simplistic slogans, and most often used in a setting of mass protest.
Given that it is a form of speech, it should, a priori, enjoy the protection of the right to free speech. However, in certain exceptional circumstances there’s a rationale for prohibiting it. It is a form of hate speech, and the rules governing limitations of hate speech apply here as well. In a nutshell: hate speech can be prohibited when it incites violence.
Now, it’s not impossible to imagine cases where flag burning can incite violence (burning the flag of Israel in front of a surrounded Jewish enclave when a pogrom is imminent, for example), but I guess that most cases of flag burning are much less harmful. So a general law forbidding flag burning doesn’t seem justifiable. There have been several attempts in the U.S. Congress to vote for an Amendment to the U.S. Constitution to allow a ban on flag burning:
On June 27, 2006, the most recent attempt to pass a ban on flag burning was rejected by the Senate in a close vote of 66 in favor, 34 opposed, one vote short of the two-thirds majority needed to send the amendment to be voted on by the states. (source)
Much of this is of course political posturing of politicians trying to be the most patriotic. Given the rarity of flag burning in the U.S., it’s also a typical example of a solution in search of a problem.
Those who would burn the flag destroy the symbol of freedom, but amending the Constitution would destroy part of freedom itself. Richard Savage (source)
The fact that patriotic people are offended by flag burning isn’t a sufficient reason to ban it. (I’ve argued here against a right not to be offended).