System.Text.Json.JsonException: '<' is an invalid start of a value. LineNumber: 0 | BytePositionInLine: 0.: what it means and how to fix it

TL;DR: Validate locally, fix the first real error, validate again (no upload).

Troubleshoot System.Text.Json.JsonException: '<' is an invalid start of a value. LineNumber: 0 | BytePositionInLine: 0. quickly and validate JSON locally (no upload).

What the error means

System.Text.Json.JsonException: '<' is an invalid start of a value. LineNumber: 0 | BytePositionInLine: 0. means the parser expected valid JSON but encountered a character/token that cannot appear there. In practice, it usually means the input is not JSON (or not strict JSON), or it is incomplete.

Most common real-world causes

  • The input is not strict JSON (single quotes, comments, trailing commas).
  • The response is truncated (missing closing } / ] / ").
  • The response contains a prefix/suffix (logs, banners, debug output).
  • The payload has invalid escapes or control characters in strings.
  • You are parsing the wrong thing (already-parsed object, HTML, CSV, etc).

Fast debugging steps

  • Validate the JSON as-is to get an exact error location.
  • Check the first and last 50 characters for truncation and prefixes.
  • Fix one issue at a time and re-validate after each change.

Code example (csharp)

// Read as string first, then parse
var text = responseText;
Console.WriteLine(text.Substring(0, Math.Min(text.Length, 200)));

var obj = Newtonsoft.Json.Linq.JToken.Parse(text);

Fix without uploading data

If the JSON contains sensitive data, validate and fix it locally. No Upload Tools runs 100% in your browser.

Workflow: validate -> fix the first error -> validate again -> export/convert.

FAQ

Does the exact token matter? Yes. The token often hints at the root cause: < is usually HTML, u is often undefined, and / often points to comments.

Should I just regex-fix JSON? Avoid blind regex edits. Validate after each change so you know what you fixed and what broke.

Privacy & Security
All processing happens locally in your browser. Files are never uploaded.

Quick fix checklist

  • Reproduce the error on a minimal input.
  • Check type/format and field mapping.
  • Apply the smallest safe fix.
  • Validate on production-like payload.

Next pages to check

Closest crawled pages without impressions yet. Added to speed first-impression conversion.

neighbor csharp csharp stj could not be converted system int32 items 0 id runbooks webhoneighbor csharp csharp stj could not be converted system int32 items 0 id workflows enteneighbor csharp csharp stj could not be converted system int32 user id checklists analytneighbor csharp csharp stj could not be converted system int32 user id runbooks webhooksneighbor go csharp stj could not be converted system string items 0 id workflows data imneighbor csharp csharp stj could not be converted system collections generic list1 syst neighbor csharp csharp stj could not be converted system double data workflows api gatewneighbor csharp csharp stj could not be converted system double id workflows webhooksneighbor csharp csharp stj could not be converted system int32 user email checklists ananeighbor csharp csharp stj could not be converted system int32 user email checklists edgneighbor csharp csharp stj could not be converted system int32 user email runbooks analyneighbor csharp csharp stj could not be converted system int32 user email runbooks webhoneighbor csharp csharp stj could not be converted system int64 data runbooks enterprise neighbor csharp csharp stj could not be converted system int64 data workflows data imporneighbor csharp csharp stj could not be converted system int64 user email troubleshootinneighbor csharp csharp stj could not be converted system int64 user id checklists api ganeighbor csharp csharp stj could not be converted system string items 0 checklists multineighbor csharp csharp stj could not be converted system string items 0 id runbooks analneighbor csharp csharp stj could not be converted system string items 0 id troubleshootineighbor csharp csharp stj could not be converted system string status workflows data im