The smallest 50-dimensional vectors in glove.6B.50d.txt are only 167MB, so potentially feasible to handle in the browser. Out of 400K words, 64K can be removed because they contain non-alphanumeric characters (+ dashes).
They're sorted by frequency, I wonder how many more it's safe to remove. Even half way through the file, almost all of the words look like garbage, but there are occasionally a few that seem useful.
Maybe I could cross-reference another dataset though there's no guarantee it would be any better, and it's not a very elegant solution.
My guess is that the number of dimensions in the vector will not matter much for my use case and I will be safe using 50d, but I should probably test this with some example words.
I could maybe go up to 100d if I found a way to remove non-dictionary words, but probably not any higher because the files get too big.