SyntaxError: Unexpected end of input
The parser reached the end of the code (or JSON) while still expecting more — a missing } ) ] or empty JSON.
Unexpected end of inputUnexpected end of JSON input Meaning
For code: an unclosed brace or bracket. For JSON.parse/response.json(): the body was empty.
Common causes
- Missing closing } or )
- Unterminated template literal
- Empty response passed to JSON.parse
⚡ Quick fix
- Use an editor with bracket matching / run a linter
- Check response.status and length before .json()
Detailed fix by platform
JavaScript
const text = await res.text(); const data = text ? JSON.parse(text) : null;
How to diagnose
- Source — Code or JSON parsing?
- Balance — Are brackets balanced?
🔧 Still not fixed?
Many errors look alike. If the steps above didn’t solve it, one of these is probably what you’re facing:
Similar errors
Most viewed in JavaScript
- TypeError TypeError: Cannot read properties of undefined (reading 'x')
- Failed to fetch TypeError: Failed to fetch / NetworkError when attempting to fetch resource
- module MIME type Failed to load module script: Expected a JavaScript module script but the server responded with a MIME type of "text/html"
Other ways to find it
Where this error sits
Origin: On your device. Errors that are often confused with or caused by this one (click to open):
🧠 Still stuck? Analyze your error
Paste the full message, response headers or stack trace — we'll detect the platform and point to the most likely cause.
💬 What worked for others
No tips yet — did something else fix this for you?
Share what worked for you
Tips are checked by an editor before they appear. Links are removed.
Report a correction or suggest an improvement
Last updated 14 Oct 2026