gRPC Status Code Decoder
Enter a gRPC status code (0–16) or name to see the full description, common causes, retry advice, and HTTP equivalent. All 17 canonical gRPC status codes are shown below.
| Code | Name | Description |
|---|
Frequently Asked Questions
What are gRPC status codes?▼
gRPC defines 17 canonical status codes (0–16) that every RPC call returns. Unlike HTTP which has ~70 status codes, gRPC's small set maps clearly to error categories: success, cancellation, invalid input, resource not found, authentication failures, and more. Every gRPC response includes a status code and an optional status message.
What is the difference between NOT_FOUND (5) and UNIMPLEMENTED (12)?▼
NOT_FOUND (5) means the requested resource or entity does not exist — for example, a user ID that was deleted or never created. UNIMPLEMENTED (12) means the method or operation itself is not supported on this server — for example, calling a beta endpoint on a stable server, or calling an RPC that was removed.
Should I retry on UNAVAILABLE (14)?▼
Yes, UNAVAILABLE is the primary retryable error code. It signals a transient server-side condition like an overloaded backend or a temporary network interruption. Use exponential backoff with jitter. The other commonly retryable code is RESOURCE_EXHAUSTED (8) when caused by rate limiting rather than quota exhaustion.
What is the difference between DEADLINE_EXCEEDED (4) and CANCELLED (1)?▼
CANCELLED (1) means the client explicitly cancelled the RPC before it completed — for example, the user navigated away. DEADLINE_EXCEEDED (4) means the deadline set by the client (or server) elapsed before the RPC finished. Both result in termination, but DEADLINE_EXCEEDED indicates the operation was simply too slow while CANCELLED indicates intentional termination.
When should I use INTERNAL (13) vs FAILED_PRECONDITION (9)?▼
INTERNAL (13) is for unexpected, unrecoverable server errors — bugs, invariant violations, or cases where the server is in a state it should never be in. FAILED_PRECONDITION (9) is for expected business-logic errors where the system is in the wrong state for this operation — for example, calling Delete on a non-empty directory, or trying to resume a completed workflow.
How do gRPC status codes map to HTTP status codes?▼
Common mappings: OK→200, CANCELLED→499, INVALID_ARGUMENT→400, NOT_FOUND→404, ALREADY_EXISTS→409, PERMISSION_DENIED→403, UNAUTHENTICATED→401, RESOURCE_EXHAUSTED→429, INTERNAL→500, UNIMPLEMENTED→501, UNAVAILABLE→503, DEADLINE_EXCEEDED→504. These mappings are used by gRPC-HTTP/1.1 transcoding proxies like Envoy and Cloud Endpoints.
Related Products
on GumroadDevPlaybook Interview Vault
210+ real technical interview questions with model answers, asked at Google, Meta, Amazon, Microsoft, Stripe, and Shopify. Covers Frontend (55), Backend (55), System Design (50), and DSA (50). Available in English and Traditional Chinese.
Buy on Gumroad →TypeScript Quick Reference Toolkit
5 practical reference files for TypeScript developers: cheatsheet, TS vs JS comparison, 20 utility types with real examples, tsconfig best practices template, and 15 common mistakes guide. Print it. Keep it on your desk.
Buy on Gumroad →Developer Interview Vault
210 technical interview questions with model answers, key points, and follow-up questions. Covers Frontend, Backend, System Design, and DSA — bilingual English + Traditional Chinese (ZH-TW). PWYW from $29.
Buy on Gumroad →You Might Also Need
OpenAPI Validator
Paste your OpenAPI 3.x spec (YAML or JSON) to validate structure, find missing required fields, detect duplicate paths, check for missing operationIds, and get errors and warnings with path references.
Open free tool →
API Response Mock Generator
Generate realistic mock API responses with custom status codes, headers, and JSON body. Quick templates for 200, 401, 404, 429, 500 and more. Runs in your browser.
Open free tool →
API Response Time Tester
Test API endpoint response times directly from your browser. Run multiple requests, see average/min/max times, status codes, and response sizes. GET, POST, PUT, DELETE support. Free.
Open free tool →
More Free Tools
Related Articles
GraphQL vs REST vs gRPC: A 2026 API Design Comparison
A practical guide comparing GraphQL vs REST vs gRPC for modern API development. Covers performance, type safety, tooling, use cases, and a decision framework for 2026.
FastAPI vs Django REST Framework 2025: Which Should You Choose?
FastAPI vs Django REST Framework compared for 2025. Performance benchmarks, feature comparison, real-world use cases, and a clear decision guide for your next Python API project.
Microservices vs Monolith 2026: Real-World Decision Framework
Stop following hype — choose the right architecture for your specific context. Practical comparison of microservices vs monolith in 2026, with a decision framework based on team size, scale, and stage.
Microservices vs Monolith 2026: The Definitive Guide
Should you use microservices or a monolith in 2026? Updated decision framework covering team size, scaling needs, modern tooling, and the modular monolith approach.
Hono.js: Build Blazing-Fast APIs for Edge and Serverless (2026 Guide)
Complete guide to Hono.js covering routing, middleware, RPC client, Cloudflare Workers, Bun, Deno, and Node.js runtimes, OpenAPI integration, and comparison with Express and Fastify for edge workloads.
Enjoying this tool? Get more like it.
Weekly developer tool guides, productivity playbooks & AI tricks. Free. No spam.
Unlock AI-Powered Dev Tools
- ⚡ AI Code Review, Doc Generator & SQL Builder
- ⚡ All premium templates & early access
- ⚡ Member discounts on Gumroad products
$9/mo after trial · Cancel anytime
Want the full toolkit?
Get DevPlaybook Pro
Every template, guide, boilerplate, and automation script in one bundle. 13 premium products — grab them all at once and save big.
MIT licensed · Instant download · No subscription
See what's included → Browse all deals →