What is canonicalization? - Definition from WhatIs.com
Part of the Programming glossary:

In information technology, canonicalization (pronounced KA-nahn-nihk-uhl-ih-ZAY-shun and sometimes spelled canonicalisation) is the process of making something canonical -- that is, in conformance with some specification. To canonicalize (as well as the slightly less tortured variant canonify ) is to ensure that data conforms to canonical rules, and is in an approved format. Canonicalization may sometimes mean generating canonical data from noncanonical data.

Canonicalization is used for a variety of computer and Internet-related applications. In a sendmail context, canonification (or canonicalization) describes the process used to complete Mail-From addresses where necessary on incoming messages. When the canonify feature is turned on, a defined default domain name is added to the user name on an incoming message, so that username is translated to username@domain . Within the Extensible Markup Language ( XML ), canonicalization ensures that an XML document adheres to the specified format.

The term canonicalization may have been coined to avoid using the term for the process of making someone an official saint in the Roman Catholic Church -- canonization . It is also possible that the first coiner of the term hadn't heard of canon and canonize and created new terms out of the adjectival canonical , sometimes used in describing formal elements of a specification.

Because canonicalization is such a long word, and lacking any readily apparent abbreviation, it is sometimes expressed as C14N , in which 14 represents the number of letters between the C and the N .

This was last updated in September 2005
Contributor(s): Kamal Kapur, Simon Moy, Bradley Kodama and Brant Casey
Posted by: Margaret Rouse

Related Terms


  • debugging

    - Debugging, in computer programming and engineering, is a multistep process that involves identifying a problem, isolating the source of the problem, and then either correcting the problem or determ... (SearchSoftwareQuality.com)

  • Remote Procedure Call (RPC)

    - Remote Procedure Call (RPC) is a protocol that one program can use to request a service from a program located in another computer on a network without having to understand the network's details. (SearchSOA.com)

  • walking skeleton

    - A walking skeleton, in a software development context, is a minimal initial implementation of an application that includes and connects the major components of the system's architecture. (WhatIs.com)


  • Programming

    - Terms related to software programming, including definitions about programming languages and words and phrases about software design, coding, testing and debugging.

  • Internet applications

    - This WhatIs.com glossary contains terms related to Internet applications, including definitions about Software as a Service (SaaS) delivery models and words and phrases about web sites, e-commerce ...

Ask a Question About canonicalizationPowered by ITKnowledgeExchange.com

Get answers from your peers on your most technical challenges

Tech TalkComment



    Contribute to the conversation

    All fields are required. Comments will appear at the bottom of the article.