Here is what I use
public function render($request, Exception $exception)
{
if ($this->isHttpException($exception)) {
if (view()->exists('errors.'.$exception->getStatusCode())) {
return response()->view('errors.'.$exception->getStatusCode(), [], $exception->getStatusCode());
}
}
if (!$this->isHttpException($exception)) {
$exception = new \Symfony\Component\HttpKernel\Exception\HttpException(500);
}
return parent::render($request, $exception);
}
Then place your custom blade error pages in views/errors and name them according to error like 500.blade.php.