Summarized test results:
CSS3 Text, text-transform

Intended audience: users, HTML coders, script developers, CSS coders, Web project managers, and anyone who wants to know whether browsers support text transforms per the CSS Text spec.

Updated

These tests check whether user agents correctly apply the property text-transform per the CSS-text-3 spec.

Future additions to this set of tests should include Warang Citi and (post Unicode 8.0) Cherokee. The current lack of fonts needed to display the characters means that it is unlikely that these tests can be checked currently.

These tests examine a large number of characters. Webfonts are downloaded by the tests to cover characters that may not be available on the system where the test is run, but there may still be some characters that appear as tofu. In such cases, the tests instruct the tester to ignore those characters, but list which ones they were. This information appears in the notes below the tables.

To see the test, click on the link in the left-most column. To see detailed results for a single test, click on a row and look just above the table. The detailed results show the date(s) the test result was recorded, and the version of the browser tested.

Any dependencies are shown in notes above the table, and notes below the table will usually provide any additional useful information, including an explanation of why a result was marked as 'partially successful'.

Key:

pass fail partially successful

text-transform: uppercase/lowercase

Latin

Links to run testsAssertionsGecko FirefoxBlink ChromeWebkit SafariLegacy EdgeIE
Latin Basic and Latin-1 uppercase
text-transform-upperlower-001.html
For the Latin Basic and Latin-1 blocks, text-transform: uppercase puts all letters in uppercase . passpasspasspasspass
Latin Basic and Latin-1 lowercase
text-transform-upperlower-002.html
For the Latin Basic and Latin-1 blocks, text-transform: lowercase puts all letters in lowercase . passpasspasspasspass
Latin Extended Additional, uppercase
text-transform-upperlower-003.html
For the Latin Extended Additional Unicode block, text-transform: uppercase puts all letters in uppercase . passpasspasspasspass
Latin Extended Additional, lowercase
text-transform-upperlower-004.html
For the Latin Extended Additional Unicode block, text-transform: lowercase puts all letters in lowercase . passpasspasspasspass
Latin Extended-A, uppercase
text-transform-upperlower-005.html
For the Latin Extended-A Unicode block, text-transform: uppercase puts all letters in uppercase . passpasspasspasspass
Latin Extended-A, lowercase
text-transform-upperlower-006.html
For the Latin Extended-A Unicode block, text-transform: lowercase puts all letters in lowercase . passpasspasspasspass
Latin Extended-B, uppercase
text-transform-upperlower-007.html
For the Latin Extended-B Unicode block, text-transform: uppercase puts all letters in uppercase . passpasspasspartialpartial
Latin Extended-B, lowercase
text-transform-upperlower-008.html
For the Latin Extended-B Unicode block, text-transform: lowercase puts all letters in lowercase . passpasspasspasspass
Latin Extended-C, uppercase
text-transform-upperlower-009.html
For the Latin Extended-C Unicode block, text-transform: uppercase puts all letters in uppercase . passpasspasspasspass
Latin Extended-C, lowercase
text-transform-upperlower-010.html
For the Latin Extended-C Unicode block, text-transform: lowercase puts all letters in lowercase . passpasspasspartialpartial
Latin Extended-D, uppercase
text-transform-upperlower-101.html
For the Latin Extended-D Unicode block, text-transform: uppercase puts all letters in uppercase . passpasspasspartialpartial
Latin Extended-D, lowercase
text-transform-upperlower-102.html
For the Latin Extended-D Unicode block, text-transform: lowercase puts all letters in lowercase . passpasspasspartialpartial
Full-width Latin, uppercase
text-transform-upperlower-011.html
For the Latin letters in the Halfwidth and Fullwidth Forms Unicode block, text-transform: uppercase puts all letters in uppercase . passpasspasspasspass
Full-width Latin, lowercase
text-transform-upperlower-012.html
For the Latin letters in the Halfwidth and Fullwidth Forms block, text-transform: lowercase puts all letters in lowercase . passpasspasspasspass

Notes

  1. text-transform-upperlower-101: The following characters could not be verified due to a lack of font coverage: U+A79B, U+A79D, U+A79F.
  2. text-transform-upperlower-102: ditto: U+A79A, U+A79C, U+A79E.
  3. text-transform-upperlower-007, IE11: failed on 2 characters.
  4. text-transform-upperlower-010, IE11: failed on 3 characters.
  5. text-transform-upperlower-101, Chrome 41.0, Safari 8.0.3, Opera 27.0: failed on 2 characters.
  6. ditto, IE11: failed on 9 characters.
  7. text-transform-upperlower-102, Chrome 41.0, Safari 8.0.3, Opera 27.0: failed on 7 characters.
  8. ditto, IE11: failed on 16 characters.

Greek & Coptic

Links to run testsAssertionsGecko FirefoxBlink ChromeWebkit SafariLegacy EdgeIE
Greek and Coptic, uppercase
text-transform-upperlower-014.html
For the Greek and Coptic Unicode block, text-transform: uppercase puts all letters in uppercase . passpasspasspasspass
Greek and Coptic, lowercase
text-transform-upperlower-015.html
For the Greek and Coptic Unicode block, text-transform: lowercase puts all letters in lowercase . passpasspasspasspass
Greek Extended, uppercase
text-transform-upperlower-016.html
For the Greek Extended Unicode block, text-transform: uppercase puts all letters in uppercase . partialpartialpartialpasspass
Greek Extended, lowercase
text-transform-upperlower-017.html
For the Greek Extended Unicode block, text-transform: lowercase puts all letters in lowercase . passpasspasspasspass

Notes

  1. text-transform-upperlower-014, Chrome 41.0, Safari 8.0.3, Opera 27.0, IE11: failed on 1 character.
  2. text-transform-upperlower-015, Chrome 41.0, Safari 8.0.3, Opera 27.0, IE11: failed on 1 character.
  3. text-transform-upperlower-016, Firefox fails for characters that are expected to have a form similar to ῼ. It produces instead ΩΙ, which is the form obtained by decomposing the character first, then applying uppercase.

Cyrillic

Links to run testsAssertionsGecko FirefoxBlink ChromeWebkit SafariLegacy EdgeIE
Cyrillic, uppercase
text-transform-upperlower-018.html
For the Cyrillic Unicode block, text-transform: uppercase puts all letters in uppercase . passpasspasspasspass
Cyrillic, lowercase
text-transform-upperlower-019.html
For the Cyrillic Unicode block, text-transform: lowercase puts all letters in lowercase . passpasspasspasspass
Cyrillic Supplement, uppercase
text-transform-upperlower-020.html
For the Cyrillic Supplement Unicode block, text-transform: uppercase puts all letters in uppercase . passpasspasspartialpartial
Cyrillic Extended, lowercase
text-transform-upperlower-021.html
For the Cyrillic Extended Unicode block, text-transform: lowercase puts all letters in lowercase . passpasspasspartialpartial
Cyrillic Extended-B, uppercase
text-transform-upperlower-103.html
For the Cyrillic Extended-B Unicode block, text-transform: uppercase puts all letters in uppercase . passpasspasspartial-
Cyrillic Extended-B, lowercase
text-transform-upperlower-104.html
For the Cyrillic Extended-B Unicode block, text-transform: lowercase puts all letters in lowercase . passpasspasspartial-

Notes

  1. text-transform-103: The following characters could not be verified on Firefox, Chrome, Safari and Opera due to a lack of font coverage: U+A699, U+A69B. No characters could be verified on IE.
  2. text-transform-104: ditto: U+A698, U+A69A, and all characters on IE.
  3. text-transform-upperlower-020, Chrome 41.0, Safari 8.0.3, Opera 27.0: failed on 4 characters.
  4. ditto, IE11: failed on 6 characters.
  5. text-transform-upperlower-021, Chrome 41.0, Safari 8.0.3, Opera 27.0: failed on 4 characters.
  6. ditto, IE11: failed on 6 characters.

Armenian

Links to run testsAssertionsGecko FirefoxBlink ChromeWebkit SafariLegacy EdgeIE
Armenian, uppercase
text-transform-upperlower-022.html
For the ArmenianUnicode block, text-transform: uppercase puts all letters in uppercase . passpasspasspasspass
Latin Extended-D, lowercase
text-transform-upperlower-023.html
For the Latin Extended-D Unicode block, text-transform: lowercase puts all letters in lowercase . passpasspasspasspass

Cherokee

Links to run testsAssertionsGecko FirefoxBlink ChromeWebkit SafariLegacy Edge
Cherokee, uppercase
text-transform-upperlower-044.html
For the Cherokee Unicode block, text-transform: uppercase puts all letters in uppercase . passpasspassfail
Cherokee, lowercase
text-transform-upperlower-045.html
For the Cherokee Unicode block, text-transform: lowercase puts all letters in lowercase . passpasspassfail

Deseret

Links to run testsAssertionsGecko FirefoxBlink ChromeWebkit SafariLegacy EdgeIE
Deseret, uppercase
text-transform-upperlower-028.html
For the Deseret Unicode block, text-transform: uppercase puts all letters in uppercase . passpasspasspassfail
Deseret, lowercase
text-transform-upperlower-029.html
For the Deseret Unicode block, text-transform: lowercase puts all letters in lowercase . passpasspasspassfail

Georgian

Links to run testsAssertionsGecko FirefoxBlink ChromeWebkit SafariLegacy EdgeIE
Georgian Supplement, uppercase
text-transform-upperlower-030.html
For the Georgian Supplement Unicode block, text-transform: uppercase puts all letters in uppercase . passpasspasspartialpass
Georgian, lowercase
text-transform-upperlower-031.html
For the Georgian Unicode block, text-transform: lowercase puts all letters in lowercase . passpasspasspartialpass

Number forms

Links to run testsAssertionsGecko FirefoxBlink ChromeWebkit SafariLegacy EdgeIE
Number Forms, uppercase
text-transform-upperlower-024.html
For the Number Forms Unicode block, text-transform: uppercase puts all letters in uppercase . passpasspasspasspass
Number Forms, lowercase
text-transform-upperlower-025.html
For the Number Forms Unicode block, text-transform: lowercase puts all letters in lowercase . passpasspasspasspass

Enclosed alphanumerics

Links to run testsAssertionsGecko FirefoxBlink ChromeWebkit SafariLegacy EdgeIE
Enclosed Alphanumerics, uppercase
text-transform-upperlower-026.html
For the Enclosed Alphanumerics Unicode block, text-transform: uppercase puts all letters in uppercase . passpasspasspasspass
Enclosed Alphanumerics, lowercase
text-transform-upperlower-027.html
For the Enclosed Alphanumerics Unicode block, text-transform: lowercase puts all letters in lowercase . passpasspasspasspass

text-transform: fullwidth

Links to run testsAssertionsGecko FirefoxBlink ChromeWebkit SafariLegacy EdgeIE
CSS3 Text, text transform:fullwidth, a-z
text-transform-fullwidth-001.html
text-transform:fullwidth converts a-z to fullwidth. passfailfailfailfail
CSS3 Text, text transform:fullwidth, A-Z
text-transform-fullwidth-002.html
text-transform:fullwidth converts A-Z to fullwidth. passfailfailfailfail
CSS3 Text, text transform:fullwidth, punctuation
text-transform-fullwidth-003.html
text-transform:fullwidth converts punctuation to fullwidth. passfailfailfailfail
CSS3 Text, text transform:fullwidth, katakana
text-transform-fullwidth-004.html
text-transform:fullwidth converts halfwidth katakana to fullwidth. passfailfailfailfail
CSS3 Text, text transform:fullwidth, hw ja punctuation
text-transform-fullwidth-005.html
text-transform:fullwidth converts halfwidth japanese punctuation to fullwidth. passfailfailfailfail
CSS3 Text, text transform:fullwidth, symbols
text-transform-fullwidth-006.html
text-transform:fullwidth converts symbols to fullwidth. passfailfailfailfail

text-transform: capitalize

Latin

Links to run testsAssertionsGecko FirefoxBlink ChromeWebkit SafariLegacy EdgeIE
capitalize, Latin Basic and Latin-1
text-transform-capitalize-001.html
For the Latin Basic and Latin-1 blocks, text-transform: capitalize puts the first typographic letter unit of each word in titlecase; other characters are unaffected. passpasspasspartialpass
capitalize, Latin Extended Additional
text-transform-capitalize-003.html
For the Latin Extended Additional Unicode block, text-transform: text-transform: capitalize puts the first typographic letter unit of each word in titlecase; other characters are unaffected . passpasspasspasspass
capitalize, Latin Extended-A
text-transform-capitalize-005.html
For the Latin Extended-A Unicode block, text-transform: capitalize puts the first typographic letter unit of each word in titlecase; other characters are unaffected . passpasspasspasspass
capitalize, Latin Extended-B
text-transform-capitalize-007.html
For the Latin Extended-B Unicode block, text-transform: capitalize puts the first typographic letter unit of each word in titlecase; other characters are unaffected. partialpasspasspartialpartial
capitalize, Latin Extended-C
text-transform-capitalize-009.html
For the Latin Extended-C Unicode block, text-transform: capitalize puts the first typographic letter unit of each word in titlecase; other characters are unaffected . passpasspasspasspass
capitalize, Latin Extended-D
text-transform-capitalize-010.html
For the Latin Extended-D Unicode block, text-transform: capitalize puts the first typographic letter unit of each word in titlecase; other characters are unaffected. passpasspasspartialpartial
capitalize, Full-width Latin
text-transform-capitalize-011.html
For the Latin letters in the Halfwidth and Fullwidth Forms Unicode block, text-transform: capitalize puts the first typographic letter unit of each word in titlecase; other characters are unaffected . passpasspasspasspass

Notes

  1. text-transform-capitalize-007, Firefox 36.0.1: The following characters were not converted: DŽ, LJ, NJ, DZ.
  2. ditto, IE 11: The Serbo-Croatian digraphs were all uppercased, rather than titlecased: DŽ, dž, LJ, lj, NJ, nj, DZ, dz. Also ȿ and ɀ were not converted.

Greek & Coptic

Links to run testsAssertionsGecko FirefoxBlink ChromeWebkit SafariLegacy EdgeIE
capitalize, Greek and Coptic
text-transform-capitalize-014.html
For the Greek and Coptic Unicode block, text-transform: capitalize puts the first typographic letter unit of each word in titlecase; other characters are unaffected. passpasspasspartialpartial
capitalize, Greek Extended
text-transform-capitalize-016.html
For the Greek Extended Unicode block, text-transform: capitalize puts the first typographic letter unit of each word in titlecase; other characters are unaffected. passpasspasspasspass

Cyrillic

Links to run testsAssertionsGecko FirefoxBlink ChromeWebkit SafariLegacy EdgeIE
capitalize, Cyrillic
text-transform-capitalize-018.html
For the Cyrillic Unicode block, text-transform: capitalize puts the first typographic letter unit of each word in titlecase; other characters are unaffected. passpasspasspasspass
capitalize, Cyrillic Supplement
text-transform-capitalize-020.html
For the Cyrillic Supplement Unicode block, text-transform: capitalize puts the first typographic letter unit of each word in titlecase; other characters are unaffected. passpasspasspartialpartial

Armenian

Links to run testsAssertionsGecko FirefoxBlink ChromeWebkit SafariLegacy EdgeIE
capitalize, Armenian
text-transform-capitalize-022.html
For the ArmenianUnicode block, text-transform: capitalize puts the first typographic letter unit of each word in titlecase; other characters are unaffected. passpasspasspasspass

Cherokee

Links to run testsAssertionsGecko FirefoxBlink ChromeWebkit SafariLegacy Edge
capitalize, Cherokee
text-transform-capitalize-029.html
For the Cherokee Unicode block, text-transform: capitalize puts the first typographic letter unit of each word in titlecase; other characters are unaffected. passpasspassfail

Deseret

Links to run testsAssertionsGecko FirefoxBlink ChromeWebkit SafariLegacy EdgeIE
capitalize, Deseret
text-transform-capitalize-028.html
For the Deseret Unicode block, text-transform: capitalize puts the first typographic letter unit of each word in titlecase; other characters are unaffected. passfailfailfailfail

Georgian

Links to run testsAssertionsGecko FirefoxBlink ChromeWebkit SafariLegacy EdgeIE
capitalize, Georgian Supplement
text-transform-capitalize-030.html
For the Georgian Supplement Unicode block, text-transform: capitalize puts the first typographic letter unit of each word in titlecase; other characters are unaffected. passpasspasspartialpass

Number forms

Links to run testsAssertionsGecko FirefoxBlink ChromeWebkit SafariLegacy EdgeIE
capitalize, Number Forms
text-transform-capitalize-024.html
For the Number Forms Unicode block, text-transform: capitalize puts the first typographic letter unit of each word in titlecase; other characters are unaffected. passpasspassfailpartial

Enclosed alphanumerics

Links to run testsAssertionsGecko FirefoxBlink ChromeWebkit SafariLegacy EdgeIE
capitalize, Enclosed Alphanumerics
text-transform-capitalize-026.html
For the Enclosed Alphanumerics Unicode block, text-transform: capitalize does NOT put any character in titlecase. passfailfailpassfail

Initial punctuation

Links to run testsAssertionsGecko FirefoxBlink ChromeWebkit SafariLegacy EdgeIE
capitalize, initial punctuation
text-transform-capitalize-031.html
text-transform: uppercase ignores characters that are not typographic letter units and capitalizes the first typographic letter unit in a word. passpasspasspasspass

Special casing

These tests explore whether browsers apply the Unicode specialcasing rules.

Latin

Links to run testsAssertionsGecko FirefoxBlink ChromeWebkit SafariLegacy EdgeIE
German sharp S, uppercase
text-transform-upperlower-032.html
text-transform: uppercase will uppercase the German sharp S as described in Unicode's SpecialCasing.txt . passpasspassfailfail
Latin ligatures, uppercase
text-transform-upperlower-033.html
text-transform: uppercase will uppercase Latin ligatures as described in Unicode's SpecialCasing.txt . passpasspassfailfail
Lithuanian, lowercase
text-transform-upperlower-039.html
text-transform: lowercase will lowercase Lithuanian as described in Unicode's SpecialCasing.txt . failpassfailfailfail

Greek

Links to run testsAssertionsGecko FirefoxBlink ChromeWebkit SafariLegacy EdgeIE
Greek specials, uppercase
text-transform-upperlower-035.html
text-transform: uppercase will uppercase Greek specials as described in Unicode's SpecialCasing.txt . passpasspartialfailfail
Greek final sigma, lowercase
text-transform-upperlower-038.html
text-transform: lowercase will lowercase Greek final sigma at the end of a word as described in Unicode's SpecialCasing.txt . passpasspasspassfail

Armenian

Links to run testsAssertionsGecko FirefoxBlink ChromeWebkit SafariLegacy EdgeIE
Armenian ligatures, uppercase
text-transform-upperlower-034.html
text-transform: uppercase will uppercase Armenian ligatures as described in Unicode's SpecialCasing.txt . passpasspassfailfail

Turkish/Azeri

Links to run testsAssertionsGecko FirefoxBlink ChromeWebkit SafariLegacy EdgeIE
Turkish, uppercase
text-transform-upperlower-040.html
text-transform: uppercase will uppercase Turkish as described in Unicode's SpecialCasing.txt when the language is specified as Turkish. passpasspasspasspass
Turkish, lowercase
text-transform-upperlower-041.html
text-transform: lowercase will lowercase Turkish as described in Unicode's SpecialCasing.txt when the language is specified as Turkish. passpasspasspasspass
Azeri, uppercase
text-transform-upperlower-042.html
text-transform: uppercase will uppercase Azeri as described in Unicode's SpecialCasing.txt when the language is specified as Azeri. passpasspasspasspass
Azeri, lowercase
text-transform-upperlower-043.html
text-transform: lowercase will lowercase Azeri as described in Unicode's SpecialCasing.txt when the language is specified as Azeri. passpasspasspasspass

Tailoring

These tests explore whether browsers have tailored the default case mappings in order to meet language-specific needs.

Dutch

Links to run testsAssertionsGecko FirefoxBlink ChromeWebkit SafariLegacy EdgeIE
capitalize, Dutch IJ
text-transform-tailoring-001.html
[Exploratory] the brower tailors text-transform: capitalize to put both I and J in titlecase at the start of a word when the language is Dutch. passfailfailfailfail

Greek

Links to run testsAssertionsGecko FirefoxBlink ChromeWebkit SafariLegacy EdgeIE
uppercase, Greek tonos
text-transform-tailoring-002.html
[Exploratory] the brower tailors text-transform: uppercase such that Greek words that are all uppercase lose tonos. passpassfailfailfail
uppercase, Greek dialytika
text-transform-tailoring-002a.html
[Exploratory] the brower tailors text-transform: uppercase such that Greek words that are all uppercase lose tonos, but not dialytika. passpassfailpassfail
uppercase, more Greek accents
text-transform-tailoring-003.html
[Exploratory] the brower tailors text-transform: uppercase such that Greek words that are all uppercase convert tonos plus dialytika to just dialytika, and convert diphthongs with tonos on the first character to a dialytika on the second character. passpassfailfailfail
uppercase, Greek disjunctive eta
text-transform-tailoring-005.html
[Exploratory] the brower tailors text-transform: uppercase such that a disjunctive eta in a Greek sentence keeps its tonos diacritic. passpassfailfailfail
capitalize, Greek initial stress
text-transform-tailoring-004.html
[Exploratory] the brower tailors text-transform: capitalize such that a stressed vowel that is the first syllable of a Greek sentence keeps its tonos diacritic. passpasspasspasspass