Perform a "prior art search" to make sure your software is original, because your software must possess "novelty" to be patented. A good place to start is the PatentScope search engine maintained by the World Intellectual Property Organization. This resource allows you to search abstracts of patent applications filed in many different national jurisdictions. Even if your software has never been patented, it might not be original. Check the U.S. Copyright Office website to see if identical or very similar software has been registered.
Create a precise description of your software complete with text, drawings and diagrams, along with an explanation of why your software qualifies for patent protection based on the three principles of patentability: novelty, utility and ingenuity. Your description should be complete enough to allow a technician to manufacture it using only your description to guide them. To obtain a software patent, you must characterize your invention as a mechanical system in which computer hardware executes an algorithm, rather than an algorithm itself. If the USPTO concludes that you are trying to protect the algorithm itself, it will reject your application and refer you to the U.S. Copyright Office.
Prepare a one-page abstract of your software, summarizing its nature and function and stating why it deserves patent protection.
Navigate to the USPTO's EFS-Web page and file your patent application online. You must enter basic information and upload your abstract, specifications, drawings and diagrams. You must also execute an oath identifying the inventor, stating that you believe this inventor to be the first inventor, and promising to provide the USPTO any further information it might require to examine your application. You may pay the filing fee online by credit or debit card.
Respond to inquiries and requests for modification of your application by the USPTO. You may be asked, for example, to narrow the scope of your claims if the USPTO concludes that certain aspects of your invention are not original. Although the USPTO will publish a detailed description of your invention 18 months after your initial filing date, a final decision on your application might not be made for years after that.