XML (ראשי תיבות שלeXtensible Markup Language) הואתקן לקידוד וייצוג נתונים במחשבים. שימוש ב־XML מקל על החלפת נתונים בין מערכות שונות שפועלות על גבי תשתיות שונות. תקן ה-XML לא מגדיר איזה מידע יוצג אלא מגדיר כיצד לייצג מידע באופן כללי. תקן XML שייך למשפחתשפות הסימון (markup language), ומבוסס על תקן משנת1986 בשםSGML.
שמירת המטא-מידע ביחד עם המידע עצמו. כלומר, שמירת תיאור הנתונים עם הנתונים עצמם.
סידור המידע במגוון צורות ולא רק בטבלה כמו ברוב הפורמטים האחרים. ב-XML טבעי מאוד לסדר מידע באופן היררכי (עץ).
הייצוג עצמו מתבצע תוך שימוש בתגיות (Tags) שמגדירות רכיבי מידע (Elements). בתוך רכיבי המידע ניתן לאחסן את המידע עצמו או רכיבים נוספים. דוגמאות לרכיבי מידע:
שפת התגיותHTML שמתארת דפים של אתרי אינטרנט בנויה גם היא בצורה דומה ל־XML. היסטורית, ה־XML התפתח מהצורך לתקנן ולשכלל את שפת ה־HTML שהביאה את רעיון התגיות שנוצר לראשונה בשפתSGML לפרסום רחב בזכות האינטרנט.XHTML הוא תקן חדש ל־HTML, המגדיר כל דף HTML כמסמך XML תקין. דף XHTML, בדומה לדף HTML, מתאר את תוכן הדף, ולעיתים גם את עיצובו.
ה־XML שימושי כמעט בכל תחום של מחשבים. חשיבותו הגדולה ביותר היא בחיבורים בין מערכות שונות. לדוגמה: קיים תקן כיצד לייצג מידע על חולה והטיפולים שהוא עובר ("תיק חולה") באמצעות מסמך XML. כך יכולה המערכת של בית החולים לשלוח את המידע הזה לרופא המשפחה שיכול לקלוט לתוך מערכת המידע שלו את התרופות אותם קיבלו חוליו במהלך אשפוזם.
כדי לתמוך בהחלפת מידע מסוג זה פותחו תקנים להעברת מסמכי XML כדוגמתSOAP.
ניתן להגדיר את המבנה של קובץ XML על ידי שימוש בקובץ נוסף, שמגדיר באילו תגיות ניתן להשתמש, מה המבנה שלהן ואיזה מידע יכול להיות מאוחסן בכל אחת מהן. קובץ כזה יכול לתאר לדוגמה את המבנה של "תיק חולה". בעבר השתמשו בפורמטDTD כדי להגדיר את התחביר. כיום משתמשים בפורמטXSD (המכונה גםSchema), שבעצמו מנוסח ב־XML (לעומת DTD שיש לו תחביר נפרד).
המפרט של XML מגדיר בדיוק חמש ישויות (Entity references) או הפניות לתווים, או ייצוג לתו באמצעות תווים אחרים, שכל מפענחי ה-XML מכירים. שימוש בישויות אלו יעשה לרוב כשמעוניינים להכניס תו מיוחד, שמשמש כחלק מהתחביר של XML. ניתן להצהיר במפורש על הישויות ב-DTD אך אם עושים זאת, חייבים לתת לישויות את ערכיברירת המחדל. XML מאפשר ישויות נוספות בתנאי שהן מוגדרות מראש בקובץ הגדרת המסמך.
בטבלה למטה רשימה של 5 הישויות שמובנות ב-XML. עמודת "קודיוניקוד" מראה את אופן ייצוג התו בפורמט יוניקוד, בצורההקסדצימלית. מספר היוניקוד בצורהעשרונית מוצג בסוגריים. עמודת ה"גרסה" מציגה את הגרסה הראשונה של XML שהחל ממנה הישות מוכרת.