The FCC mandates that carriers allow customers to port their numbers to another carrier. This usually works quite well; however, if you are a customer of an MVNO (Mobile Virtual Network Operator) such as Tracfone, you may run into a paradox of sorts: since Tracfone uses another major carrier's towers (T-Mobile in my location), the web-based number porting eligibility tool tells you that your number is ineligible because (in my case) it is already a T-Mobile number.
Despite this fact, it is still possible to port your number. You just need to place your order; your phone will get a temporary number. Then, call your new provider's customer service, explain to them that you are currently a customer of one of their MVNOs (or "wholesale partners"), and you will be on your way. Just make sure your Tracfone/Net10 account information matches the information you tell the customer service representative.
This whole process took around 20 minutes for me, although T-Mobile told me it would take up to 72 hours (3 days). I was pleasantly surprised when I received a text message on my new phone stating "your new number is XXX-XXX-XXXX" and my old Net10 phone displayed an "Unregistered SIM" message.
Note that the process is different if your Tracfone's underlying carrier is not the carrier you are looking for. (Use the sign-up tool on Wireless AMBER Alerts to determine the underlying carrier). In those cases, the number portability checker will say that your number is eligible, and will prompt you for an account number; you will need to enter either your Tracfone's IMEI or the full number.