I have few unnecessary fields in Account and contact and Lead Objects. I want to remove those fields. But before that, I need to check where these fields are using in entire org. How to check every field. Is there any tool to check all fields?
You can use Field Trip to determine the use of given fields by percentage/raw values. I'm pretty sure other solutions are out there as well.
Alternatively, just delete the field; if Salesforce stops you, you'll get a list of references (workflows, code, pages, etc) that you need to remove references from.
There are a couple of options. You can pull your WSDL (https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_quickstart_get_WSDLs.htm) and search for all instances of a field. But Salesforce is pretty good about preventing you from killing a field if it is referenced anywhere. I know it will identify references to Apex Classes, Triggers, and VF pages. Most likely, Salesforce won't let you delete it if it is used eleswhere.
There is no easy way to do that. You will have to either check your code and validation rules to see which fields are being used or not. If you want to try to automate this task, you can have a look at the Tooling API objects ApexClassMember and SymbolTable, and how to perform a query using the Tooling API.
Also, keep in mind that if a field is being used in code, Salesforce won't let you delete it.