The goal of this research is to develop a method and tool (a) to estimate disassembly time automatically from early embodiment design based CAD model and (b) to provide design suggestions to improve product disassemblability. Disassembly is a critical process in the end-of-life (EOL) stage of a product. It is usually followed by sorting and then by material recovery for recycling or part recovery for reuse or remanufacturing. Manual estimation of disassembly time, through physical prototype disassembly or through Boothroyd and Dewhurst system, is time consuming and is not applicable in the early design stage. In this research, graph based data structures and related metrics are utilized to estimate complete and selective disassembly time at embodiment design stage. Selective disassembly is important when a single part of subassembly is to be recovered while the rest of the product is to be discarded. Selective disassembly time is estimated by merging particular nodes in assembly and bipartite graph and then recomputing the graph metrics. The method and algorithm presented in this paper is implemented using SolidWorks application programming interface (API) in Visual C#. Results are compared with the results obtained by Boothroyd and Dewhurst method, the error range is reasonable.