Decide between Polyglossia and Babel for LuaLaTeX in 2019

Here's some reasons why I prefer babel over polyglossia for LuaLaTeX.

  • babel's base is part of the LaTeX core packages actively developed, but polyglossia is only getting a few minor updates.
  • babel's RTL and BiDi support is really nice for LuaLaTeX now. But polyglossia only supports RTL text with XeLaTeX.
  • babel's new ini system for setting up languages is very neat and I think will improve rapidly. It also makes it easy to add new languages and update existing languages.
  • babel's font support is easier to use to set up standard families for different languages, whereas polyglossia basically just uses standard fontspec calls.
  • For standard European languages babel's support is very mature.
  • polyglossia's language variants do not work well with biblatex or csquotes.

You might choose polyglossia if you want to write a RTL only document with XeLaTeX, as the bidi package has been around for a long time. But if the main document language is LTR, I wouldn't do this now as babel and LuaLaTeX is better and involves less hacks and workarounds. You might also choose to use polyglossia with XeLaTeX if you need certain complex scripts that LuaLaTeX still does not handle well. But none of these reasons justify choosing polyglossia over babel if you have already decided to use LuaLaTeX.


There are 79 language definition files (gloss-XX) in the polyglossia folder. For a thorough comparision you would have to compare for every language how good the gloss-file is, if it works with lualatex, if babel provide definitions for this language too and how good it works with lualatex. And naturally you also need to check if babel knows language which polyglossia doesn't have. That's a lot work which I won't do (but it is known that the french module is clearly better in babel).

For all language relevant to me I prefer today babel over polyglossia. Even more if I use lualatex as babel has more lualatex specific code (polyglossia has been developed with xelatex in mind). babel is better maintained and its interface for other packages which need language support (biblatex) is better.


Unfortunately I am not able to provide a holistic answer to the question. But I know polyglossia does the job for me. Since end of 2019 it is also quite active again. There is one point where polyglossia beats babel:

  1. polyglossia provides long-s (ſ) captions with the option blackletter.

Edit: There used to be a second point about language metadata which is resolved as of hyperxmp 5.4. Thumbs up for Scott and Javier for resolving this quickly.