Generally for newly issued patents, the patent will expire 20 years from the earliest filing date. However, the patent will expire earlier if maintenance fees are not paid. Maintenance fees must be paid to the United States Patent and Trademark Office (USPTO) at 3.5, 7.5, and 11.5 years after the date the utility patent issues. Maintenance fees are not required for U.S. design patents; they are required for utility patents. The USPTO provides a six month grace period after the 3.5, 7.5, and 11.5 year due dates, within which the maintenance fee can be paid with an additional surcharge.
Some patents receive a patent term extension from the USPTO, if under certain circumstances the USTPO takes too long to examine the patent application and grant the patent. Patent term extension periods are generally shown on the first page of a patent. You should seek advice of a patent attorney when trying to determine whether a particular patent is expired.
The maintenance fees are set by the USPTO and change periodically. The maintenance fees increase progressively so that the 7.5 and 11.5 year fees are greater than the 3.5 year fee and the 11.5 year fee is greater than the 7.5 year fee. This progressive fee structure incentivizes patent owners to let their patent expire unless they are generating a certain financial benefit to the patent owner at the time each respective maintenance fee becomes due.
Photo credit to flickr user kermitfrosch under this creative commons license.