Gotcha. UTF-8 shouldn't be using a BOM. Sure it's not saving in UTF-16? Anyway, one thing you could try just to get more data would be decoding the bytes into a String using a Reader, then having Jackson decode the string. It's unlikely, but there might be a bug in Jackson's native bytes -> UTF8 decoding?