HTML scheme Attribute

Beginner
⏱️ 5 min read
📚 Updated: Jun 2026
🎯 3 Examples
Deprecated & Metadata

Introduction

The scheme attribute was used on <meta> elements to tell browsers and tools how to interpret the content value paired with a name. For example, scheme="ISBN" could qualify a book identifier, and scheme="DCTERMS.W3CDTF" could mark a Dublin Core date format. In HTML5 the attribute is obsolete and deprecated. It is not related to URI schemes such as https:// in links, and it was never valid on <input> fields.

What You’ll Learn

01

<meta> Only

Legacy metadata.

02

Deprecated

Obsolete in HTML5.

03

name + content

Qualifies value.

04

Not URI scheme

Not http/https.

05

JSON-LD

Modern replacement.

06

Legacy code

Read old markup.

Purpose of scheme

The original purpose of the scheme attribute was to provide extra context for machine-readable metadata. When a <meta> element had a name and content, the scheme value named the vocabulary, format, or classification system used for content—such as ISBN, a date format, or a taxonomy code.

HTML5 removed support for processing this attribute. User agents are encouraged to ignore scheme and treat each name/content pair on its own. You may still encounter it in older government, library, or Dublin Core documents, which is why it belongs in an attributes reference.

⚠️
Not for URL protocols

The HTML scheme attribute does not set whether a link uses http, https, or mailto:. Those are URI schemes inside URLs. Some outdated tutorials incorrectly placed scheme="https" on <input> elements—that markup was never standard HTML.

📝 Syntax

Legacy syntax on a <meta> element (shown for recognition only—do not use in new projects):

scheme-legacy.html
<meta name="identifier" scheme="ISBN" content="978-0134685991">

Modern equivalent (encode the format in the name or use structured data):

meta-modern.html
<!-- One scheme per field: use a specific name -->
<meta name="book-isbn" content="978-0134685991">

<!-- Or JSON-LD for rich metadata -->
<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "Book",
  "isbn": "978-0134685991"
}
</script>

Syntax Rules

  • Historically valid on <meta> elements with name and content.
  • Value was a free-form string naming a format, vocabulary, or URI describing the format.
  • Worked together with name to qualify how content should be parsed.
  • Obsolete in HTML5—validators flag it; omit it in new code.
  • Not valid on <input>, <a>, or other interactive elements.
  • Prefer JSON-LD, RDFa, or microdata for structured metadata today.

💎 Values

The scheme attribute accepted a string naming the interpretation system for content. Common legacy values included:

  • ISBN — International Standard Book Number for publication identifiers.
  • DCTERMS.W3CDTF — W3C date/time format used with Dublin Core metadata.
  • DCTERMS.URI — URI identifier scheme in Dublin Core profiles.
  • DCTERMS.IMT — Internet Media Type (MIME) in Dublin Core.
  • LGCL, ORLY — Example taxonomy codes in HTML5 spec illustrations.
  • A URI — Some profiles used a URL pointing to documentation for the format.
dublin-core-legacy.html
<!-- Legacy Dublin Core pattern (deprecated) -->
<meta name="DC.date" scheme="DCTERMS.W3CDTF" content="2025-08-22">
<meta name="DC.identifier" scheme="DCTERMS.URI" content="https://example.com/doc">

⚡ Quick Reference

Use CaseLegacy (avoid)Modern replacement
Book ISBNscheme="ISBN" on metaJSON-LD isbn or dedicated meta name
Document datescheme="DCTERMS.W3CDTF"ISO date in content or JSON-LD datePublished
Multiple vocabulariesSame name, different schemeSeparate name values per field
Rich SEO metadatameta + schemeJSON-LD, Open Graph, or RDFa
HTTPS linksscheme="https" on input ❌Full URL in href or value
Applicable element<meta> (obsolete)Structured data scripts

Applicable Elements

Element / ContextSupported?Notes
<meta name="..." content="...">ObsoleteOriginal and only standard use; ignored in HTML5
<meta charset="...">Nocharset meta has no scheme
<input>NoNever valid; outdated tutorials were incorrect
<a href="...">NoURL schemes belong in the href value

scheme vs name vs content

AttributeRoleExampleStatus today
nameMetadata field namename="identifier"Still used (with limits)
contentMetadata valuecontent="978-0134685991"Still used
schemeFormat/vocabulary hintscheme="ISBN"Deprecated

Together, the three attributes told tools: “field identifier uses the ISBN format and its value is 978-0134685991.” HTML5 recommends encoding that meaning without scheme.

Examples Gallery

Legacy scheme on <meta>, the modern replacement, and reading the attribute with JavaScript in old code.

👀 Live Preview

Read a legacy scheme value from a <meta> element (for demonstration only):

Click to inject a demo <meta name="identifier" scheme="ISBN"> into the document head and read meta.scheme.

Click the button to read the deprecated attribute in DevTools.

Example — Legacy Meta with scheme

Historical markup you may encounter in older documents:

index.html
<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="identifier" scheme="ISBN" content="978-0134685991">
  <meta name="DC.date" scheme="DCTERMS.W3CDTF" content="2025-08-22">
  <title>Legacy metadata</title>
</head>
<body>
  <h1>Document with deprecated scheme meta</h1>
</body>
</html>
Try It Yourself

How It Works

In the past, tools could combine name and scheme to understand the format of content. HTML5 deprecated this pattern in favor of clearer field names or structured data.

Example — Modern Replacement

Write new metadata without scheme:

meta-modern.html
<head>
  <!-- Explicit field name instead of scheme -->
  <meta name="book-isbn" content="978-0134685991">

  <!-- JSON-LD for search engines -->
  <script type="application/ld+json">
  {
    "@context": "https://schema.org",
    "@type": "Book",
    "name": "Effective Java",
    "isbn": "978-0134685991",
    "datePublished": "2017-12-17"
  }
  </script>
</head>
Try It Yourself

How It Works

Instead of qualifying content with scheme, encode the meaning in the field name (book-isbn) or use schema.org JSON-LD for rich, typed metadata.

Dynamic Values with JavaScript

Legacy code could read or set scheme on meta elements:

dynamic-scheme.html
<meta id="legacyMeta" name="identifier" content="978-0134685991">

<script>
  var meta = document.getElementById("legacyMeta");
  meta.setAttribute("scheme", "ISBN"); // deprecated — avoid in new code
  console.log(meta.scheme); // "ISBN" (reflected, but ignored by HTML5)
</script>
Try It Yourself

How It Works

The old reference incorrectly showed setAttribute("scheme", "ftp") on an <input>. The real API is HTMLMetaElement.scheme on <meta> elements only.

♿ Accessibility

  • Meta tags are not visible UI — The scheme attribute never affected what users see or hear on the page.
  • Do not use meta for critical user info — Put accessible labels and descriptions in visible HTML, not hidden metadata.
  • Structured data complements a11y — JSON-LD helps search engines; use proper headings, labels, and ARIA for users.
  • Remove deprecated attributes during audits — Cleaner head markup is easier for maintainers and validators.
  • Language belongs in lang — Document language uses <html lang="...">, not scheme on meta.

🧠 How scheme Worked (Legacy)

1

Author adds meta with scheme

name, scheme, and content together.

Legacy
2

Tools read format hint

ISBN, date format, taxonomy.

History
3

HTML5 makes it obsolete

Browsers ignore scheme.

Standard
=

Use JSON-LD or clear names

Omit scheme in new code.

Browser Support

The scheme attribute is obsolete. Browsers may reflect it in the DOM via HTMLMetaElement.scheme, but they do not use it when processing page metadata. It must not appear in new HTML5 documents.

⚠️ Obsolete · Ignored

Deprecated since HTML5

Attribute is parseable in legacy markup but has no metadata effect in modern browsers.

0% Recommended use
Google Chrome DOM reflection only
Obsolete
Mozilla Firefox Ignored for metadata
Obsolete
Apple Safari Ignored
Obsolete
Microsoft Edge Ignored
Obsolete
scheme on <meta> Do not use

Bottom line: Recognize it in legacy Dublin Core or library markup; replace with JSON-LD or explicit meta names in new projects.

💡 Best Practices

✅ Do

  • Use JSON-LD or Open Graph for rich metadata in new sites
  • Choose descriptive name values when plain meta is enough
  • Remove scheme when refactoring legacy head sections
  • Validate pages with an HTML5 validator after cleanup
  • Learn Dublin Core history if you maintain government or library sites

❌ Don’t

  • Add scheme to new <meta> tags
  • Put scheme="https" on <input> elements
  • Confuse HTML scheme with URI schemes in URLs
  • Rely on scheme for SEO or structured data
  • Follow outdated tutorials that describe scheme as a form attribute

Conclusion

The scheme attribute is a legacy tool for qualifying the format of <meta> content values. It is obsolete in HTML5 and should not be used in new documents.

For modern metadata, use explicit field names, encode formats inside content, or adopt JSON-LD and schema.org. Understanding the difference between HTML scheme and URI schemes like https:// keeps your markup accurate when reading or migrating older pages.

Key Takeaways

Knowledge Unlocked

Five truths every developer should know about scheme

Bookmark these before editing legacy meta tags.

5
Core concepts
📄 02

<meta>

Legacy use only

Element
🔎 03

Qualifies content

ISBN, dates, etc.

Purpose
🔗 04

Not URL scheme

Not http/https

Compare
📊 05

Use JSON-LD

Modern metadata

Replace

❓ Frequently Asked Questions

A deprecated attribute on <meta> that named the format or vocabulary for the content value (e.g. scheme="ISBN"). HTML5 made it obsolete.
No. scheme was never valid on <input>. Some outdated tutorials incorrectly showed scheme="https" on form fields—that markup is not standard HTML.
No. URI schemes like https:// are part of a URL string. The HTML scheme attribute qualified metadata values on <meta> elements.
Use one meta name per field, encode the format in content, or add JSON-LD structured data for search engines and tools.
Dublin Core and library metadata profiles used scheme heavily before HTML5. Those documents were often never updated after the attribute was deprecated.
Yes. HTMLMetaElement.scheme reflects the attribute in the DOM, but browsers ignore it for metadata processing. Do not set it in new pages.

Write modern metadata

Compare legacy scheme meta tags with today’s JSON-LD patterns in the Try It editor.

Try modern metadata example →

About the author

Mari Selvan M P
Mari Selvan M P 🔗

Developer, cloud engineer, and technical writer

  • Experience 12 years building web and cloud systems
  • Focus Full Stack Development, AWS, and Developer Education

I write practical tutorials so students and working developers can learn by doing—from databases and APIs to deployment on AWS.

5 people found this page helpful