Be liberal in what you accept, and conservative in what you send. Jon Postel articulated this principle in RFC 793 (1981) as a robustness guideline for TCP implementations: systems should handle any reasonable variation in input gracefully while producing precisely correct output. Applied to user interfaces, it translates directly: accept the many ways users naturally express input, normalise it to the system's requirements internally, and return output that is clear, consistent, and correct. Do not punish users for deviating from your expected format.
The Psychology
The user reality that Postel's Law addresses is that people do not naturally conform to rigid data formats. Phone numbers are entered with spaces, dashes, parentheses, country codes, or without any of these. Dates are entered as "Jan 5" or "1/5/25" or "January 5th, 2025." Names include accents, hyphens, and apostrophes that many form systems reject. Postal codes are entered with or without spaces, in upper or lower case. When a system requires one specific format and rejects anything else, it is transferring the burden of format conformity from the system — where it can be handled once in code — to every user, where it must be handled repeatedly by humans who did not come to your product to learn your data formats.
In Product Design
The design response is to build tolerance into input handling at every level. Phone fields should accept and strip any common formatting characters. Date fields should parse a wide range of natural language date formats. Search fields should handle misspellings, synonyms, and partial matches. Name fields should not reject characters that are legitimate in the user's language. Amount fields should accept currency symbols and comma separators. In each case, the system normalises the input before validation and processing. The user sees their input accepted as natural; the system stores a clean, normalised value. This is engineering work, but it is engineering work that pays for itself immediately in reduced support volume and higher form completion rates.
How to Apply It
On the output side, Postel's Law means every message your system sends — confirmations, errors, notifications, status updates — should be clear, specific, and actionable. A payment failure message that says "Transaction declined — code 4012" is output that violates the principle: it is passing raw system information to users who cannot act on a decline code. A message that says "Your card was declined. Please check the card number and try again, or contact your bank" is conservative output: it gives the user exactly what they need to act, no more and no less.
Why It Matters
When Postel's Law is ignored, form abandonment rates reflect the friction cost. Users who encounter a validation error because they formatted their phone number the way they naturally write it do not reformulate the number and continue — a significant proportion simply abandon. The interface's rigidity communicates a lack of care for the user's experience. The principle is ultimately about respect: the system should work harder so the user works less, not the other way around.

