MathML (ang. Mathematical Markup Language, matematyczny język znaczników) to język będący zastosowaniem XML-a, służący do opisywania wzorów i symboli matematycznych tak, aby można je było poprawnie wyświetlić w oknie przeglądarki. Aktualnie jest wspierany głównie przez Firefox.
W tym języku każdy składnik wyrażenia matematycznego musi być zamknięty w parze tagów, odpowiednich dla rodzaju składnika. Wszystkie tagi zamknięte są w nawiasach kątowych i zaczynają się od litery 'm'. Następnie w tagu pojawiają się inne litery w zależności od rodzaju składnika, np. 'o' - dla operatorów, 'i' dla identyfikatorów, 'n' dla liczb, itp. Po tagu otwierającym występuje odpowiednia wartość składnika, po której zawsze musi pojawić się tag zamykający. Tag zamykający ma taki sam kod, jak otwierający i też jest zamknięty w nawiasach kątowych, ale na początku kodu jest jeszcze dodany ukośnik.
Np. wyrażenie "x+2y=0" zapisywane jest tak:
Aby zapisać składnik w indeksie górnym korzystamy z tagu , którego składnia wymaga podania dwóch argumentów, podstawy i wykładnika potęgi, np. x do kwadratu zapisywany jest tak:
Zapisanie kilku wyrażeń w nawiasach wymaga użycia tagu i powoduje zawsze automatyczne rozdzielenie ich przecinkami, np. (a,b,c):
Z powodu automatycznego rozdzielania przecinkami wyrażeń w nawiasach, (x+2y) do kwadratu wymaga skorzystania ze specjalnego tagu , który określa organizację kilku składników w poziomą grupę tekstu. To wyrażenie zapisywane jest tak: