UML is a standard language for creating diagrams that illustrate the elements and relationships of a software system. It consists of 14 types of diagrams, each with its own notation and purpose, such as class diagrams, which depict classes, attributes, methods, and associations of an object-oriented system; use case diagrams, which illustrate the actors, use cases, and interactions of a system from the user's perspective; sequence diagrams, which display the messages and lifelines of objects in a system over time; activity diagrams, which showcase the actions, flows, and conditions of a system's behavior; and state diagrams, which present the states, transitions, and events of an object or a system. UML diagrams can be created using various tools - online editors, software applications, or even pen and paper - but it is essential to adhere to the UML syntax and semantics that define the rules and meanings of the symbols and elements.