diff --git a/src/libraries/utils/json.mll b/src/libraries/utils/json.mll
index 52187b0c694171749f0c51af63bac1a86829ae24..eb978dac10c151180737369ed9edb4824649bd8e 100644
--- a/src/libraries/utils/json.mll
+++ b/src/libraries/utils/json.mll
@@ -167,7 +167,7 @@ let rec pp fmt v = let open Format in
   | `Bool b -> pp_print_bool fmt b
   | `String s -> fprintf fmt "%S" s
   | `Int a -> pp_print_int fmt a
-  | `Float f -> pp_print_float fmt f
+  | `Float f -> Format.fprintf fmt "%.3g" f
   | `List [] -> pp_print_string fmt "[]"
   | `List (e::es) ->
       Format.fprintf fmt "@[<hov 2>[ %a" pp e ;