

{"id":7480,"date":"2020-03-02T15:06:30","date_gmt":"2020-03-02T15:06:30","guid":{"rendered":"https:\/\/blog.tubikstudio.com\/?p=7480"},"modified":"2026-05-11T14:24:18","modified_gmt":"2026-05-11T14:24:18","slug":"error-screens-and-messages","status":"publish","type":"post","link":"https:\/\/tubikstudio.com\/blog\/error-screens-and-messages\/","title":{"rendered":"UX Design for Error States: The Art of Failing Well"},"content":{"rendered":"<p><span style=\"font-weight: 400;\">There&#8217;s a moment every designer quietly dreads. Not a crash, not a blank screen, something subtler: the look on a user&#8217;s face when something goes wrong and the interface offers nothing useful in return. No explanation, just the digital equivalent of a shrug.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Whether we, as designers, want it or not, errors are part of the product. The question is not whether your users will encounter them; it&#8217;s whether your error state design is ready when they do.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Now, let&#8217;s dig deeper.<\/span><\/p>\n<h2><span style=\"font-weight: 400;\">What an Error Actually Is<\/span><\/h2>\n<p><span style=\"font-weight: 400;\">Before fixing something, name it precisely. An interface error is any state where the interface cannot do what the user wants. That breaks down into three honest scenarios:<\/span><\/p>\n<p><span style=\"font-weight: 400;\">The platform literally cannot do what&#8217;s being asked\u2014the function doesn&#8217;t exist, the server is down, the file format isn&#8217;t supported. The system cannot understand the input\u2014a field expects a number and got a sentence, an email address is missing the @, a password doesn&#8217;t meet requirements the user never knew about. Or the user is combining things that can&#8217;t coexist\u2014operations that conflict in ways that are invisible from the outside.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Three different problems. Three different types of communication required. Grouping them into a single &#8220;error&#8221; category and responding to all three identically is where most design systems start to crack.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">What makes this genuinely serious: errors aren&#8217;t neutral. <a href=\"https:\/\/pmc.ncbi.nlm.nih.gov\/articles\/PMC9982505\/\">Research<\/a> connecting smartphone error messages to cortisol levels\u2014the body&#8217;s stress biomarker\u2014found a measurable physiological response to a bad error state. For some users, in some moments, a confusing UI error message triggers real anxiety and raises cognitive load significantly. It makes them stop trying. It costs you not just a conversion but a relationship.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Design for that reality, not the ideal one.<\/span><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-7772\" src=\"https:\/\/blog.tubikstudio.com\/wp-content\/uploads\/2020\/03\/email-address-error-1.png\" alt=\"email address error\" width=\"770\" height=\"531\" srcset=\"https:\/\/blog.tubikstudio.com\/wp-content\/uploads\/2020\/03\/email-address-error-1.png 770w, https:\/\/blog.tubikstudio.com\/wp-content\/uploads\/2020\/03\/email-address-error-1-300x207.png 300w, https:\/\/blog.tubikstudio.com\/wp-content\/uploads\/2020\/03\/email-address-error-1-768x530.png 768w, https:\/\/blog.tubikstudio.com\/wp-content\/uploads\/2020\/03\/email-address-error-1-150x103.png 150w\" sizes=\"auto, (max-width: 770px) 100vw, 770px\" \/><\/p>\n<p><em>This is how the error of filling the subscription form on our website looks<\/em><\/p>\n<h2><span style=\"font-weight: 400;\">Design Principles for Errors That Don&#8217;t Insult People<\/span><\/h2>\n<p><span style=\"font-weight: 400;\">There&#8217;s no single moment where users decide they&#8217;re done with a product\u2014it&#8217;s a series of small failures that stack up. Here&#8217;s how to make sure UX error states aren&#8217;t one of them.<\/span><\/p>\n<h3><span style=\"font-weight: 400;\">Make It Impossible to Miss<\/span><\/h3>\n<p><span style=\"font-weight: 400;\">The worst error is a silent one. The second worst is one that&#8217;s easy to overlook.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">If a form has ten fields and one is invalid, do not tell the user &#8220;something went wrong&#8221; and make them play detective. Highlight the broken field. Put the message next to the problem, not at the top of the page in a banner they&#8217;ve already scrolled past. Error visibility is about respect for someone&#8217;s time\u2014and it&#8217;s one of the most fundamental UX design principles there is.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Yes, the red border might disturb your minimalist composition. But the composition doesn&#8217;t matter if the product doesn&#8217;t work.<\/span><\/p>\n<h3><span style=\"font-weight: 400;\">Use Signals People Already Know<\/span><\/h3>\n<p><span style=\"font-weight: 400;\">Designers love novelty. Error states are the wrong place for it.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Red and exclamation marks exist for a reason: decades of learned behavior mean users process them instantly, without thinking. That instant processing is exactly what you want when someone is already in a moment of friction. Use the conventions. Save your creative energy for places where originality adds value.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">One important caveat: <a href=\"https:\/\/blog.tubikstudio.com\/color-matters-6-tips-on-choosing-ui-colors?utm_source=blog&amp;utm_medium=referral&amp;utm_campaign=internal_traffic&amp;utm_content=error_messages_design&amp;source=blog\">color<\/a> alone is never sufficient. A red border that&#8217;s the only indicator of an error is invisible to colorblind users. Pair color with iconography. Pair both with text. Redundancy here means accessible error message design\u2014it&#8217;s an inclusive UX design requirement. Ignoring it means failing WCAG error indicator standards and locking out a significant portion of your users.<\/span><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-7773\" src=\"https:\/\/blog.tubikstudio.com\/wp-content\/uploads\/2020\/03\/art-station-error-screen-1.png\" alt=\"art station error screen\" width=\"708\" height=\"569\" srcset=\"https:\/\/blog.tubikstudio.com\/wp-content\/uploads\/2020\/03\/art-station-error-screen-1.png 708w, https:\/\/blog.tubikstudio.com\/wp-content\/uploads\/2020\/03\/art-station-error-screen-1-300x241.png 300w, https:\/\/blog.tubikstudio.com\/wp-content\/uploads\/2020\/03\/art-station-error-screen-1-150x121.png 150w\" sizes=\"auto, (max-width: 708px) 100vw, 708px\" \/><\/p>\n<h3><span style=\"font-weight: 400;\">Explain What Happened, Not Just That Something Did<\/span><\/h3>\n<p><span style=\"font-weight: 400;\">&#8220;Invalid input&#8221; is not an explanation. &#8220;The username or password don&#8217;t match&#8221; is.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">The difference between those two messages is the difference between a user who tries again and a user who gives up. When someone doesn&#8217;t understand what went wrong, they can&#8217;t fix it\u2014and they&#8217;re likely to hit the same wall again. Worse, they start to feel confused and incompetent, which they will attribute to the product (and rightfully so).<\/span><\/p>\n<p><span style=\"font-weight: 400;\">This is where <a href=\"https:\/\/blog.tubikstudio.com\/user-experience-tips-ux-writing?utm_source=blog&amp;utm_medium=referral&amp;utm_campaign=internal_traffic&amp;utm_content=error_messages_design&amp;source=blog\">UX writing<\/a> for errors does its real work. Explain the problem in plain language, not a developer or legal one. The language of the actual human who is standing there, holding their phone, trying to log in before their meeting starts, the train arrives, or the coffee goes cold. Plain language UX isn&#8217;t dumbing things down\u2014it&#8217;s showing respect.<\/span><\/p>\n<h3><span style=\"font-weight: 400;\">Keep the Interaction Minimal<\/span><\/h3>\n<p><span style=\"font-weight: 400;\">The instinct when something breaks is to escalate: pop a modal, add a full error screen, demand acknowledgment before proceeding. Resist this almost every time.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Inline validation\u2014a message that appears immediately next to the field or action where the error occurred\u2014is almost always preferable to a modal. A modal requires an extra click to dismiss, interrupts the user&#8217;s mental flow, and adds friction at the exact moment when you should be reducing it. Good form validation UX keeps the user in flow; bad form validation pulls them out of it.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">A modal earns its place only when the error genuinely requires redirecting the user to a different context entirely. In every other case, fix it where it broke.<\/span><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-7775\" src=\"https:\/\/blog.tubikstudio.com\/wp-content\/uploads\/2020\/03\/tubik-form-error-1.png\" alt=\"tubik form error\" width=\"1086\" height=\"753\" srcset=\"https:\/\/blog.tubikstudio.com\/wp-content\/uploads\/2020\/03\/tubik-form-error-1.png 1086w, https:\/\/blog.tubikstudio.com\/wp-content\/uploads\/2020\/03\/tubik-form-error-1-300x208.png 300w, https:\/\/blog.tubikstudio.com\/wp-content\/uploads\/2020\/03\/tubik-form-error-1-768x533.png 768w, https:\/\/blog.tubikstudio.com\/wp-content\/uploads\/2020\/03\/tubik-form-error-1-1024x710.png 1024w, https:\/\/blog.tubikstudio.com\/wp-content\/uploads\/2020\/03\/tubik-form-error-1-150x104.png 150w\" sizes=\"auto, (max-width: 1086px) 100vw, 1086px\" \/><\/p>\n<h3><span style=\"font-weight: 400;\">Write Like a Human Being<\/span><\/h3>\n<p><span style=\"font-weight: 400;\">Read your error messages out loud. If they sound like they were written by a legal department or generated by a server log, rewrite them.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Short sentences. Active voice. No jargon. No error codes (unless there&#8217;s a support workflow that requires them\u2014and even then, pair the code with a plain-language explanation). Get to the point immediately; the user doesn&#8217;t need a preamble, just a solution.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">The bar for error message copywriting is not eloquence, it&#8217;s clarity. Those are different things, and clarity is harder.<\/span><\/p>\n<h3><span style=\"font-weight: 400;\">Don&#8217;t Blame the User<\/span><\/h3>\n<p><span style=\"font-weight: 400;\">This one seems obvious, but still needs to be said out loud.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">&#8220;You entered an invalid email address&#8221; and &#8220;Enter a valid email address&#8221; contain almost identical information. The difference is that the first assigns fault and the second gives direction. Users already feel friction in an error state\u2014adding blame compounds that feeling into something that erodes user trust in UX. Write every error message as if you&#8217;re speaking to someone you respect who made an understandable mistake. Because that&#8217;s exactly what&#8217;s happening.<\/span><\/p>\n<h3><span style=\"font-weight: 400;\">Be Constructive: Tell Them What to Do Next<\/span><\/h3>\n<p><span style=\"font-weight: 400;\">Explanation without direction is half the job. Once you&#8217;ve told someone what went wrong, tell them how to move forward.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">On a web interface, this means giving clear paths\u2014back to the homepage, back to the previous step, or directly to the broken element. On mobile UX design, it means making navigation out of the error state effortless, not buried. In multi-step forms, it means surfacing errors at each step rather than presenting a list of failures at the very end, after someone has spent eight minutes filling everything out.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">The constructive error message is functional\u2014it turns a dead end into a detour. And in terms of conversion rate UX, this single principle can make the difference between a completed form and an abandoned one.<\/span><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-10902\" src=\"https:\/\/blog.tubikstudio.com\/wp-content\/uploads\/2021\/02\/404-page-ecommerce-website-tubikstudio.jpg\" alt=\"404 page ecommerce website tubikstudio\" width=\"1600\" height=\"1200\" srcset=\"https:\/\/blog.tubikstudio.com\/wp-content\/uploads\/2021\/02\/404-page-ecommerce-website-tubikstudio.jpg 1600w, https:\/\/blog.tubikstudio.com\/wp-content\/uploads\/2021\/02\/404-page-ecommerce-website-tubikstudio-300x225.jpg 300w, https:\/\/blog.tubikstudio.com\/wp-content\/uploads\/2021\/02\/404-page-ecommerce-website-tubikstudio-768x576.jpg 768w, https:\/\/blog.tubikstudio.com\/wp-content\/uploads\/2021\/02\/404-page-ecommerce-website-tubikstudio-1024x768.jpg 1024w, https:\/\/blog.tubikstudio.com\/wp-content\/uploads\/2021\/02\/404-page-ecommerce-website-tubikstudio-150x113.jpg 150w\" sizes=\"auto, (max-width: 1600px) 100vw, 1600px\" \/><\/p>\n<p><em>This 404 page of the\u00a0<a href=\"https:\/\/blog.tubikstudio.com\/web-design-concepts-for-business?utm_source=blog&amp;utm_medium=referral&amp;utm_campaign=internal_traffic&amp;utm_content=error_messages_design&amp;source=blog\">fashion brand&#8217;s e-commerce website<\/a>\u00a0gives the visitor various options to jump to, marking the ability to get back to the home page as the main call-to-action<\/em><\/p>\n<h3><span style=\"font-weight: 400;\">Use Imagery Thoughtfully<\/span><\/h3>\n<p><span style=\"font-weight: 400;\">Not every error screen needs an <a href=\"https:\/\/blog.tubikstudio.com\/big-reasons-to-apply-illustrations-in-ui-design?utm_source=blog&amp;utm_medium=referral&amp;utm_campaign=internal_traffic&amp;utm_content=error_messages_design&amp;source=blog\">illustration<\/a>. But when an image is appropriate\u2014a 404 page design, an empty state design, a major system failure\u2014a well-chosen visual does something text cannot: it shifts the emotional register of the moment.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Dribbble&#8217;s 404 page is a useful example not because it&#8217;s clever (although it is) but because it&#8217;s calibrated. They know their audience\u2014designers with visual curiosity\u2014and they give that audience something to engage with instead of just a dead end. The error becomes, briefly, interesting. That&#8217;s emotional design at its best: understanding your users well enough to meet them in the moment.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">The rule: use imagery when it genuinely reduces tension or adds useful context. Avoid it when it becomes decoration on top of a bad experience.<\/span><\/p>\n<p><iframe loading=\"lazy\" title=\"Shipdaddy tubik 404 page animation\" src=\"https:\/\/player.vimeo.com\/video\/495407939?h=88f5c54fe2&amp;dnt=1&amp;app_id=122963\" width=\"500\" height=\"375\" frameborder=\"0\" allow=\"autoplay; fullscreen; picture-in-picture; clipboard-write; encrypted-media; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\"><\/iframe><\/p>\n<p><em>404 error page for the <a href=\"https:\/\/blog.tubikstudio.com\/identity-webdesign-shipping-service?utm_source=blog&amp;utm_medium=referral&amp;utm_campaign=internal_traffic&amp;utm_content=error_messages_design&amp;source=blog\">ShipDaddy website<\/a> uses funny mascot animation integrating brand graphics into the web interactions and making the error page smoothened with fun.<\/em><\/p>\n<h3><span style=\"font-weight: 400;\">Test, Watch, and Iterate<\/span><\/h3>\n<p><span style=\"font-weight: 400;\">Error handling UX is not finished at launch. It&#8217;s never finished. Analytics will show you where users drop off. Session recordings will show you the face of confusion in slow motion. A\/B testing error messages will show you which version gets someone back on track and which one loses them. Error states are among the highest-leverage places to iterate in any product\u2014the improvements are fast to implement and the gains in completion rates and user trust are often significant.<\/span><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-7776\" src=\"https:\/\/blog.tubikstudio.com\/wp-content\/uploads\/2020\/03\/dribbble-error-page.png\" alt=\"dribbble error page\" width=\"1448\" height=\"1027\" srcset=\"https:\/\/blog.tubikstudio.com\/wp-content\/uploads\/2020\/03\/dribbble-error-page.png 1448w, https:\/\/blog.tubikstudio.com\/wp-content\/uploads\/2020\/03\/dribbble-error-page-300x213.png 300w, https:\/\/blog.tubikstudio.com\/wp-content\/uploads\/2020\/03\/dribbble-error-page-768x545.png 768w, https:\/\/blog.tubikstudio.com\/wp-content\/uploads\/2020\/03\/dribbble-error-page-1024x726.png 1024w, https:\/\/blog.tubikstudio.com\/wp-content\/uploads\/2020\/03\/dribbble-error-page-150x106.png 150w\" sizes=\"auto, (max-width: 1448px) 100vw, 1448px\" \/><\/p>\n<h2><span style=\"font-weight: 400;\">The Checklist<\/span><\/h2>\n<p><span style=\"font-weight: 400;\">A well-designed error state is:<\/span><\/p>\n<ul>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><b>Visible<\/b><span style=\"font-weight: 400;\">\u2014impossible to miss, impossible to ignore<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><b>Clear<\/b><span style=\"font-weight: 400;\">\u2014written for the user, not the developer<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><b>Explanatory<\/b><span style=\"font-weight: 400;\">\u2014says what happened, not just that it did<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><b>Constructive<\/b><span style=\"font-weight: 400;\">\u2014tells the user what to do next<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><b>Friction-light<\/b><span style=\"font-weight: 400;\">\u2014no unnecessary extra steps or clicks<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><b>Human<\/b><span style=\"font-weight: 400;\">\u2014polite, direct, and never condescending<\/span><\/li>\n<\/ul>\n<h2><span style=\"font-weight: 400;\">The Summary<\/span><\/h2>\n<p><span style=\"font-weight: 400;\">The way a product behaves when things go wrong is one of the most revealing things about how much its makers respect their users. An <\/span><b>error state<\/b><span style=\"font-weight: 400;\"> handled well\u2014visible, honest, helpful, human\u2014can actually build trust. A user who hits a problem and gets clear, kind guidance through it comes out the other side with more confidence in the product than before.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">That&#8217;s what UX design for errors\u2014and really, all of product design best practices\u2014is about.<\/span><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-7777\" src=\"https:\/\/blog.tubikstudio.com\/wp-content\/uploads\/2020\/03\/design-of-error-messages-tubikarts-1.png\" alt=\"design of error messages tubikarts\" width=\"1600\" height=\"1200\" srcset=\"https:\/\/blog.tubikstudio.com\/wp-content\/uploads\/2020\/03\/design-of-error-messages-tubikarts-1.png 1600w, https:\/\/blog.tubikstudio.com\/wp-content\/uploads\/2020\/03\/design-of-error-messages-tubikarts-1-300x225.png 300w, https:\/\/blog.tubikstudio.com\/wp-content\/uploads\/2020\/03\/design-of-error-messages-tubikarts-1-768x576.png 768w, https:\/\/blog.tubikstudio.com\/wp-content\/uploads\/2020\/03\/design-of-error-messages-tubikarts-1-1024x768.png 1024w, https:\/\/blog.tubikstudio.com\/wp-content\/uploads\/2020\/03\/design-of-error-messages-tubikarts-1-150x113.png 150w\" sizes=\"auto, (max-width: 1600px) 100vw, 1600px\" \/><\/p>\n<h2><span style=\"font-weight: 400;\">Recommended Reading<\/span><\/h2>\n<p><span style=\"font-weight: 400;\">Still here? Good taste. Browse our other articles on design, UX, and the decisions that make products feel crafted with love rather than just assembled:<\/span><\/p>\n<p><a style=\"font-size: 16px;\" href=\"https:\/\/blog.tubikstudio.com\/preventing-errors-in-user-interfaces?utm_source=blog&amp;utm_medium=referral&amp;utm_campaign=internal_traffic&amp;utm_content=error_messages_design&amp;source=blog\">Best Practices on Preventing Errors in User Interfaces<\/a><\/p>\n<p><a href=\"https:\/\/blog.tubikstudio.com\/visual-dividers-user-interface?utm_source=blog&amp;utm_medium=referral&amp;utm_campaign=internal_traffic&amp;utm_content=error_messages_design&amp;source=blog\">Visual Dividers in User Interfaces: Types and Design Tips<\/a><\/p>\n<p><a href=\"https:\/\/blog.tubikstudio.com\/design-onboarding?utm_source=blog&amp;utm_medium=referral&amp;utm_campaign=internal_traffic&amp;utm_content=error_messages_design&amp;source=blog\">How to Design User Onboarding<\/a><\/p>\n<p><a href=\"https:\/\/blog.tubikstudio.com\/directional-cues-in-user-interfaces?utm_source=blog&amp;utm_medium=referral&amp;utm_campaign=internal_traffic&amp;utm_content=error_messages_design&amp;source=blog\">Directional Cues in User Interfaces<\/a><\/p>\n<p><a href=\"https:\/\/blog.tubikstudio.com\/ux-design-readable-user-interface?utm_source=blog&amp;utm_medium=referral&amp;utm_campaign=internal_traffic&amp;utm_content=error_messages_design&amp;source=blog\">How to Make User Interface Readable<\/a><\/p>\n<p><a href=\"https:\/\/blog.tubikstudio.com\/ui-design-basic-types-of-buttons-in-user-interfaces?utm_source=blog&amp;utm_medium=referral&amp;utm_campaign=internal_traffic&amp;utm_content=error_messages_design&amp;source=blog\">Basic Types of Buttons in User Interfaces<\/a><\/p>\n<p><a href=\"https:\/\/blog.tubikstudio.com\/3c-of-interface-design-color-contrast-content?utm_source=blog&amp;utm_medium=referral&amp;utm_campaign=internal_traffic&amp;utm_content=error_messages_design&amp;source=blog\">3C of Interface Design: Color, Contrast, Content<\/a><\/p>\n<p><a href=\"https:\/\/blog.tubikstudio.com\/negative-space-in-design-tips-and-best-practices-2?utm_source=blog&amp;utm_medium=referral&amp;utm_campaign=internal_traffic&amp;utm_content=error_messages_design&amp;source=blog\">Negative Space in Design: Practices and Tips<\/a><\/p>\n<p><a href=\"https:\/\/blog.tubikstudio.com\/ux-design-how-to-make-web-interface-scannable?utm_source=blog&amp;utm_medium=referral&amp;utm_campaign=internal_traffic&amp;utm_content=error_messages_design&amp;source=blog\">How to Make Web Interface Scannable<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Why error state design matters more than most teams think, and how to write messages that are visible, honest, and actually helpful. From form validation to 404 pages, here&#8217;s how to turn friction into trust.<\/p>\n","protected":false},"author":10003,"featured_media":17521,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[7,9],"tags":[480,482,20,485,34,487,100,489,138,491,151,507,233,533,256,572,319,573,324,574,331,575,463,465,468,479],"coauthors":[634],"class_list":["post-7480","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-processes_and_tools","category-ui_ux","tag-user-behavior","tag-user-experience","tag-app-design","tag-user-experience-design","tag-best-design-practices","tag-user-experience-design-process","tag-design","tag-user-experience-examples","tag-design-process","tag-user-interface","tag-design-tips","tag-ux-design-examples","tag-human-computer-interaction","tag-web-design","tag-interaction-design","tag-error","tag-mobile-app","tag-errors-design","tag-mobile-design-inspiration","tag-error-message","tag-mobile-ui","tag-error-screen","tag-ui-design-article","tag-ui-design-examples","tag-ui-design-process","tag-usability"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v25.7 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>UX Design for Error States: The Art of Failing Well<\/title>\n<meta name=\"description\" content=\"Learn how to design error states that guide users instead of frustrating them\u2014with principles for clarity, tone, accessibility, and recovery.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/tubikstudio.com\/blog\/error-screens-and-messages\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"UX Design for Error States: The Art of Failing Well\" \/>\n<meta property=\"og:description\" content=\"Learn how to design error states that guide users instead of frustrating them\u2014with principles for clarity, tone, accessibility, and recovery.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/tubikstudio.com\/blog\/error-screens-and-messages\/\" \/>\n<meta property=\"og:site_name\" content=\"Tubik Blog: Articles About Design\" \/>\n<meta property=\"article:published_time\" content=\"2020-03-02T15:06:30+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-05-11T14:24:18+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/blog.tubikstudio.com\/wp-content\/uploads\/2020\/03\/Error-Screens-1.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1200\" \/>\n\t<meta property=\"og:image:height\" content=\"600\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Anastasiia Lutsenko\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Anastasiia Lutsenko\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"9 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/tubikstudio.com\/blog\/error-screens-and-messages\/\",\"url\":\"https:\/\/tubikstudio.com\/blog\/error-screens-and-messages\/\",\"name\":\"UX Design for Error States: The Art of Failing Well\",\"isPartOf\":{\"@id\":\"https:\/\/tubikstudio.com\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/tubikstudio.com\/blog\/error-screens-and-messages\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/tubikstudio.com\/blog\/error-screens-and-messages\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/blog.tubikstudio.com\/wp-content\/uploads\/2020\/03\/Error-Screens-1.png\",\"datePublished\":\"2020-03-02T15:06:30+00:00\",\"dateModified\":\"2026-05-11T14:24:18+00:00\",\"author\":{\"@id\":\"https:\/\/tubikstudio.com\/blog\/#\/schema\/person\/2d8ccd57b6edf253e2787561fe1e66c1\"},\"description\":\"Learn how to design error states that guide users instead of frustrating them\u2014with principles for clarity, tone, accessibility, and recovery.\",\"breadcrumb\":{\"@id\":\"https:\/\/tubikstudio.com\/blog\/error-screens-and-messages\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/tubikstudio.com\/blog\/error-screens-and-messages\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/tubikstudio.com\/blog\/error-screens-and-messages\/#primaryimage\",\"url\":\"https:\/\/blog.tubikstudio.com\/wp-content\/uploads\/2020\/03\/Error-Screens-1.png\",\"contentUrl\":\"https:\/\/blog.tubikstudio.com\/wp-content\/uploads\/2020\/03\/Error-Screens-1.png\",\"width\":1200,\"height\":600},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/tubikstudio.com\/blog\/error-screens-and-messages\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/tubikstudio.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"UX Design for Error States: The Art of Failing Well\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/tubikstudio.com\/blog\/#website\",\"url\":\"https:\/\/tubikstudio.com\/blog\/\",\"name\":\"Tubik Blog: Articles About Design\",\"description\":\"Tubik Studio\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/tubikstudio.com\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/tubikstudio.com\/blog\/#\/schema\/person\/2d8ccd57b6edf253e2787561fe1e66c1\",\"name\":\"Anastasiia Lutsenko\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/tubikstudio.com\/blog\/#\/schema\/person\/image\/d893c1e4578c8cd7a39f393978129a25\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/9c0999380ab25553a4aea6cbc2224fa5f579af8ebbef2928d1d71fd4137a77a1?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/9c0999380ab25553a4aea6cbc2224fa5f579af8ebbef2928d1d71fd4137a77a1?s=96&d=mm&r=g\",\"caption\":\"Anastasiia Lutsenko\"},\"description\":\"7+ years of writing content that speaks, sells, and sticks. Raised on legendary Apple commercials and allergic to mediocrity, Anastasiia writes for products, interfaces, and campaigns that refuse to be ignored.\",\"url\":\"https:\/\/tubikstudio.com\/blog\/author\/alutsenko\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"UX Design for Error States: The Art of Failing Well","description":"Learn how to design error states that guide users instead of frustrating them\u2014with principles for clarity, tone, accessibility, and recovery.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/tubikstudio.com\/blog\/error-screens-and-messages\/","og_locale":"en_US","og_type":"article","og_title":"UX Design for Error States: The Art of Failing Well","og_description":"Learn how to design error states that guide users instead of frustrating them\u2014with principles for clarity, tone, accessibility, and recovery.","og_url":"https:\/\/tubikstudio.com\/blog\/error-screens-and-messages\/","og_site_name":"Tubik Blog: Articles About Design","article_published_time":"2020-03-02T15:06:30+00:00","article_modified_time":"2026-05-11T14:24:18+00:00","og_image":[{"width":1200,"height":600,"url":"https:\/\/blog.tubikstudio.com\/wp-content\/uploads\/2020\/03\/Error-Screens-1.png","type":"image\/png"}],"author":"Anastasiia Lutsenko","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Anastasiia Lutsenko","Est. reading time":"9 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/tubikstudio.com\/blog\/error-screens-and-messages\/","url":"https:\/\/tubikstudio.com\/blog\/error-screens-and-messages\/","name":"UX Design for Error States: The Art of Failing Well","isPartOf":{"@id":"https:\/\/tubikstudio.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/tubikstudio.com\/blog\/error-screens-and-messages\/#primaryimage"},"image":{"@id":"https:\/\/tubikstudio.com\/blog\/error-screens-and-messages\/#primaryimage"},"thumbnailUrl":"https:\/\/blog.tubikstudio.com\/wp-content\/uploads\/2020\/03\/Error-Screens-1.png","datePublished":"2020-03-02T15:06:30+00:00","dateModified":"2026-05-11T14:24:18+00:00","author":{"@id":"https:\/\/tubikstudio.com\/blog\/#\/schema\/person\/2d8ccd57b6edf253e2787561fe1e66c1"},"description":"Learn how to design error states that guide users instead of frustrating them\u2014with principles for clarity, tone, accessibility, and recovery.","breadcrumb":{"@id":"https:\/\/tubikstudio.com\/blog\/error-screens-and-messages\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/tubikstudio.com\/blog\/error-screens-and-messages\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/tubikstudio.com\/blog\/error-screens-and-messages\/#primaryimage","url":"https:\/\/blog.tubikstudio.com\/wp-content\/uploads\/2020\/03\/Error-Screens-1.png","contentUrl":"https:\/\/blog.tubikstudio.com\/wp-content\/uploads\/2020\/03\/Error-Screens-1.png","width":1200,"height":600},{"@type":"BreadcrumbList","@id":"https:\/\/tubikstudio.com\/blog\/error-screens-and-messages\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/tubikstudio.com\/blog\/"},{"@type":"ListItem","position":2,"name":"UX Design for Error States: The Art of Failing Well"}]},{"@type":"WebSite","@id":"https:\/\/tubikstudio.com\/blog\/#website","url":"https:\/\/tubikstudio.com\/blog\/","name":"Tubik Blog: Articles About Design","description":"Tubik Studio","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/tubikstudio.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Person","@id":"https:\/\/tubikstudio.com\/blog\/#\/schema\/person\/2d8ccd57b6edf253e2787561fe1e66c1","name":"Anastasiia Lutsenko","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/tubikstudio.com\/blog\/#\/schema\/person\/image\/d893c1e4578c8cd7a39f393978129a25","url":"https:\/\/secure.gravatar.com\/avatar\/9c0999380ab25553a4aea6cbc2224fa5f579af8ebbef2928d1d71fd4137a77a1?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/9c0999380ab25553a4aea6cbc2224fa5f579af8ebbef2928d1d71fd4137a77a1?s=96&d=mm&r=g","caption":"Anastasiia Lutsenko"},"description":"7+ years of writing content that speaks, sells, and sticks. Raised on legendary Apple commercials and allergic to mediocrity, Anastasiia writes for products, interfaces, and campaigns that refuse to be ignored.","url":"https:\/\/tubikstudio.com\/blog\/author\/alutsenko\/"}]}},"post_mailing_queue_ids":[],"_links":{"self":[{"href":"https:\/\/tubikstudio.com\/blog\/wp-json\/wp\/v2\/posts\/7480","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/tubikstudio.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/tubikstudio.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/tubikstudio.com\/blog\/wp-json\/wp\/v2\/users\/10003"}],"replies":[{"embeddable":true,"href":"https:\/\/tubikstudio.com\/blog\/wp-json\/wp\/v2\/comments?post=7480"}],"version-history":[{"count":9,"href":"https:\/\/tubikstudio.com\/blog\/wp-json\/wp\/v2\/posts\/7480\/revisions"}],"predecessor-version":[{"id":17522,"href":"https:\/\/tubikstudio.com\/blog\/wp-json\/wp\/v2\/posts\/7480\/revisions\/17522"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/tubikstudio.com\/blog\/wp-json\/wp\/v2\/media\/17521"}],"wp:attachment":[{"href":"https:\/\/tubikstudio.com\/blog\/wp-json\/wp\/v2\/media?parent=7480"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/tubikstudio.com\/blog\/wp-json\/wp\/v2\/categories?post=7480"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/tubikstudio.com\/blog\/wp-json\/wp\/v2\/tags?post=7480"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/tubikstudio.com\/blog\/wp-json\/wp\/v2\/coauthors?post=7480"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}