appsettings-validator

Paste an appsettings.json and get it validated, formatted, and checked for a few config mistakes that are easy to miss in review.

client-side only ASP.NET Core
appsettings.json

// what gets checked

│

JSON syntax — trailing commas, unquoted keys, mismatched braces — reported with the line and column where parsing failed. Modern V8 often includes a position itself now, but not consistently — some failures come back with no location at all, and older runtimes and other engines vary.

│

Duplicate keys within the same object — valid JSON allows this (the last one silently wins), which makes it a nasty bug: the config loads fine, but a setting you think is active isn't.

│

Empty ConnectionStrings values — a key present with an empty string, which usually means a secret was meant to come from environment variables or a secrets manager but the placeholder was left checked in.

│

Suspiciously plaintext-looking secrets — a rough heuristic flag on values that look like passwords or keys sitting directly in the file, as a nudge to double check they're not meant to be in appsettings.Development.json, user secrets, or a vault instead. If one's already been committed and pushed, here's what that actually takes to fix.

// why appsettings bugs are so quiet

│

ASP.NET Core's configuration system merges appsettings.json, appsettings.{Environment}.json, environment variables, and user secrets in a defined precedence order, and a key that's misspelled or nested one level off from where a strongly-typed options class expects it won't throw — it just silently falls back to the type's default value. That's why catching structural mistakes before the app even starts (rather than debugging a "why is this null" at runtime) is worth the extra minute.