Let Fq be a finite field. Given two irreducible polynomials f, g over Fq, with deg f dividing deg g, the finite field embedding problem asks to compute an explicit description of a field embedding of Fq[X]/f(X) into Fq[Y ]/g(Y ). When deg f = deg g, this is also known as the isomorphism problem. This problem, a special instance of polynomial factorization, plays a central role in computer algebra software. We review previous algorithms, due to Lenstra, Allombert, Rains, and Narayanan, and propose improvements and generalizations. Our detailed complexity analysis shows that our newly proposed variants are at least as efficient as previously known algorithms, and in many cases significantly better. We also implement most of the presented algorithms, compare them with the state of the art computer algebra software, and make the code available as open source. Our experiments show that our new variants consistently outperform available software.