diff --git a/fuzzers/fuzzer_load.c b/fuzzers/fuzzer_load.c
new file mode 100644
index 0000000000..c7fafd5638
--- /dev/null
+++ b/fuzzers/fuzzer_load.c
@@ -0,0 +1,65 @@
+/*
+ * This file is part of mpv.
+ *
+ * mpv is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * mpv is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with mpv. If not, see .
+ */
+
+#include
+#include
+#include
+
+#include
+
+#include
+
+#include "common.h"
+
+int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size)
+{
+ if (size == 0)
+ return -1;
+
+ char filename[15 + 10 + 1];
+ sprintf(filename, "/tmp/libfuzzer.%d", getpid());
+
+ FILE *fp = fopen(filename, "wb");
+ if (!fp)
+ exit(1);
+
+ if (fwrite(data, size, 1, fp) != 1)
+ exit(1);
+
+ if (fclose(fp))
+ exit(1);
+
+ mpv_handle *ctx = mpv_create();
+ if (!ctx)
+ exit(1);
+
+ check_error(mpv_set_option_string(ctx, "vo", "null"));
+ check_error(mpv_set_option_string(ctx, "ao", "null"));
+ check_error(mpv_set_option_string(ctx, "ao-null-untimed", "yes"));
+ check_error(mpv_set_option_string(ctx, "untimed", "yes"));
+ check_error(mpv_set_option_string(ctx, "video-osd", "no"));
+ check_error(mpv_set_option_string(ctx, "msg-level", "all=trace"));
+
+ check_error(mpv_initialize(ctx));
+
+ const char *cmd[] = {"load-" MPV_LOAD, filename, NULL};
+ check_error(mpv_command(ctx, cmd));
+
+ mpv_terminate_destroy(ctx);
+
+ return 0;
+}
diff --git a/fuzzers/meson.build b/fuzzers/meson.build
index a5a3ba7145..2083416090 100644
--- a/fuzzers/meson.build
+++ b/fuzzers/meson.build
@@ -24,3 +24,11 @@ foreach f : ['MPV_FORMAT_STRING', 'MPV_FORMAT_FLAG', 'MPV_FORMAT_INT64', 'MPV_FO
link_with: libmpv)
endforeach
endforeach
+
+foreach cmd : ['config-file', 'input-conf']
+ executable('fuzzer_load_' + cmd.underscorify(),
+ 'fuzzer_load.c',
+ c_args: ['-DMPV_LOAD="' + cmd + '"'],
+ include_directories: incdir,
+ link_with: libmpv)
+endforeach