Graph vertex coloring is one of the most studied NP-hard combinatorial optimization problems. Given the hardness of the problem, various heuristic algorithms have been proposed for practical graph coloring, based on local search, population-based approaches and hybrid methods. The research in graph coloring heuristics is very active and improved results have been obtained recently, notably for coloring large and very large graphs. This chapter surveys and analyzes graph coloring heuristics with a focus on the most recent advances.