This app was mentioned in 2 comments, with an average of 10.50 upvotes
It's for Android, called BodyCal. Here's a link: https://play.google.com/store/apps/details?id=com.purewowstudio.bodycal
You can order a body comp measuring tape off amazon (don't use a seamstress tape). And there's a whole pile of formulas out there that you can put your measurements in, and it will give you an estimate of your body fat percentage. I did all of them, and picked the one that gave me the most median number (which for me was the US Department of Defense formula). I now just use that formula to track my progress.
I feel like this is the most cost-effective and reasonable method for the majority of people.
edit: ~~I went back and it seems like the one I originally got isn't on Amazon anymore, but it looks exactly like this one: https://www.amazon.ca/Mudder-Personal-Calipers-Measure-Fitness/dp/B01B9EJBB4/ref=sr_1_1?ie=UTF8&qid=1484921416&sr=8-1&keywords=body+fat+tape (I didn't get the calipers).~~ Found it: https://www.amazon.ca/AccuFitness-MT05-MyoTape-Body-Measure/dp/B000G7YW7Y/ref=sr_1_3?ie=UTF8&qid=1484921416&sr=8-3&keywords=body+fat+tape
This is the formula I use: http://www.calculator.net/army-body-fat-calculator.html
And this is the app I use on my phone to calculate and track everything: https://play.google.com/store/apps/details?id=com.purewowstudio.bodycal
Here's a chart explaining the different ranges: http://cdn.builtlean.com/wp-content/uploads/2010/08/Ideal-Body-Fat-Percentage-Chart1.jpg