The developer tools you reach for every day, all in one place.

Converters, formatters, hashes, validators, and the small utilities you keep reopening stay together instead of getting lost across tabs.

GitHub

/ Tools

/ Tool Finder
109 tools
/ Revert Reason Decoder
Input Method
Common Error Selectors
0x08c379a0Error
Error(string)
0x4e487b71Panic
Panic(uint256)
Panic Codes Reference
0x00Generic panic
0x01Assert failed
0x11Arithmetic overflow/underflow
0x12Division or modulo by zero
0x21Invalid enum value
0x22Invalid storage byte array access
0x31Pop on empty array
0x32Array index out of bounds
0x41Out of memory
0x51Invalid internal function call
Error Types: Solidity has three main error types:
  • require(): Returns Error(string) with custom message
  • revert CustomError(): Custom errors with parameters (more gas efficient)
  • Panic: System errors like overflow, divide by zero, array bounds
/ Selected Tool

Revert Reason Decoder

Decode revert reasons from failed transactions

01

What are Revert Reasons?

When a transaction fails on Ethereum, it reverts with an error message. This error is encoded as hex data. Common error types include require() messages, custom errors, and panic codes from system failures.

02

How does it work?

Error Types require() errors return Error(string) with a message. Custom errors are more gas-efficient but need the ABI to decode. Panic errors indicate system failures like overflow, division by zero, or array bounds v…

03

Sample Cases

Covers Require Message - Insufficient Balance, Panic Code 0x11 - Arithmetic Overflow, and Custom Error - InsufficientLiquidity so you can compare common inputs and outputs quickly.

/ Code

/ Integration

Source code from the selected tool, shown here alongside the live version on the right.

/ Source Code
TypeScript
typescript
// Decode revert reasons from failed transactions

// Common error selectors
const ERROR_SELECTOR = "0x08c379a0"; // Error(string)
const PANIC_SELECTOR = "0x4e487b71"; // Panic(uint256)

function decodeRevertReason(errorData: string): string {
  const selector = errorData.slice(0, 10);

  if (selector === ERROR_SELECTOR) {
Buidl Now icon

Keep every utility in one place and stay inside the build flow.

Pick a tool, finish the check, copy what you need, and get back to the actual product work.

Developer tools for builders who ship fast.© 2026 Buidl Now. All rights reserved.