CINXE.COM
IETF Author Tools - I-D Nits (idnits)
<!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8"> <title>IETF Author Tools - I-D Nits (idnits)</title> <meta name="description" content="This service allows you to inspect an ID (Internet-Draft) for a variety of conditions that should be adjusted to bring the document into line with policies from the IETF, the IETF Trust, and the RFC Editor."> <link rel="canonical" href="https://author-tools.ietf.org/"> <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.1.0/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-KyZXEAg3QhqLMpG8r+8fhAXLRk2vvoC2f3B09zVXn8CA5QIVfZOJ3BCsw2P0p/We" crossorigin="anonymous"> <link rel="stylesheet" href="styles/custom.css"> </head> <body> <header> <nav class="navbar navbar-expand-sm navbar-dark bg-dark"> <div class="container-fluid"> <a class="navbar-brand" href="/"> <img alt="IETF Logo" src="https://www.ietf.org/lib/dt/7.39.0/ietf/images/ietflogo-small-transparent.png"> </a> <button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbarSupportedContent" aria-controls="navbarSupportedContent" aria-expanded="false" aria-label="Toggle navigation"> <span class="navbar-toggler-icon"></span> </button> <div class="collapse navbar-collapse" id="navbarSupportedContent"> <ul class="navbar-nav me-auto mb-2"> <li class="nav-item"> <a class="nav-link" href="/">Home</a> </li> <li class="nav-item"> <a class="nav-link" href="/iddiff">iddiff</a> </li> <li class="nav-item"> <a class="nav-link active" aria-current="page" href="/idnits">idnits</a> </li> <li class="nav-item"> <a class="nav-link" href="/svgcheck">svgcheck</a> </li> <li class="nav-item"> <a class="nav-link" href="/abnf">ABNF Tools</a> </li> <li class="nav-item"> <a class="nav-link" href="/doc/">API</a> </li> <li class="nav-item"> <a class="nav-link" href="https://bib.ietf.org">BibXML</a> </li> <li class="nav-item"> <a class="nav-link" href="https://authors.ietf.org">Internet-Draft Author Resources</a> </li> <li class="nav-item"> <a class="nav-link" href="https://www.ietf.org/">IETF</a> </li> <li class="nav-item"> <a class="nav-link" href="https://datatracker.ietf.org/">Datatracker</a> </li> </ul> </div> </div> </nav> </header> <main> <div class="container"> <div class="row"> <h1 class="text-center">I-D Nits (idnits)</h1> </div> <div class="row"> <div> <p> This service inspects Internet-Draft (I-D) documents for conditions that should be adjusted to bring the document into line with policies from the IETF, the IETF Trust, and the RFC Editor. Issues are reported based on: </p> <ul> <li><a href="https://authors.ietf.org/en/content-guidelines-overview">I-D Content Guidelines</a></li> <li>Additional requirements captured from Area Directors (ADs) and authors over time.</li> <li>Requirements in the <a href="https://iaoc.ietf.org/documents/idnits-SOW-00.pdf">original description of I-D Nits</a></li> </ul> </div> <div class="alert alert-primary d-flex align-items-center" role="alert"> <svg xmlns="http://www.w3.org/2000/svg" style="display: none;"> <symbol id="info-fill" fill="currentColor" viewBox="0 0 16 16"> <path d="M8 16A8 8 0 1 0 8 0a8 8 0 0 0 0 16zm.93-9.412-1 4.705c-.07.34.029.533.304.533.194 0 .487-.07.686-.246l-.088.416c-.287.346-.92.598-1.465.598-.703 0-1.002-.422-.808-1.319l.738-3.468c.064-.293.006-.399-.287-.47l-.451-.081.082-.381 2.29-.287zM8 5.5a1 1 0 1 1 0-2 1 1 0 0 1 0 2z"/> </symbol> </svg> <svg class="bi flex-shrink-0 me-2" width="24" height="24" role="img" aria-label="Info:"><use xlink:href="#info-fill"/></svg> <div>Try <a href="/idnits3">idnits v3</a> with XML.</div> </div> <div> <ul class="nav nav-tabs" id="ulDraftTabs" role="tablist"> <li class="nav-item" role="presentation"> <button class="nav-link tab-link active" id="file-tab" data-bs-toggle="tab" data-bs-target="#file-div" type="button" role="tab" aria-controls="file-div" aria-selected="true" data-others="form-tab-url" data-bs-toggle2="tooltip" data-bs-placement="bottom">Upload File</button> </li> <li class="nav-item" role="presentation"> <button class="nav-link tab-link" id="url-tab" data-bs-toggle="tab" data-bs-target="#url" type="button" role="tab" aria-controls="url" aria-selected="false" data-others="form-tab-file" data-bs-toggle2="tooltip" data-bs-placement="bottom">URL</button> </li> </ul> <div class="tab-content" id="ulDraftTabsContent"> <div class="tab-pane fade show active" id="file-div" role="tabpanel" aria-labelledby="file-tab"> <form id="form-tab-file"> <input class="form-control form-control-lg" id="file" name="file" type="file" accept=".xml,.md,.mkd,.txt" data-bs-toggle2="tooltip" data-bs-placement="bottom" title="Select input file. Input file can be XML, Markdown (kramdown-rfc or mmark) or text."> </form> </div> <div class="tab-pane fade" id="url" role="tabpanel" aria-labelledby="url-tab"> <form id="form-tab-url"> <input class="form-control form-control-lg" id="formURL" type="url" placeholder="https://www.ietf.org/archive/id/draft-ietf-wg-example-01.txt" data-bs-toggle2="tooltip" data-bs-placement="bottom" title="Provide an Internet-Draft (ID) URL. See the About page for a list of allowed domains." required> <div class="invalid-feedback"> Provide a valid URL. See the About page for <a href="/about#allowed-domains">a list of allowed domains</a>. </div> </form> </div> </div> <div> <p>Options for idnits check (submission check ignores these options):</p> </div> <div class="form-check form-switch"> <input class="form-check-input" type="checkbox" id="switchVerbose" checked> <label class="form-check-label" for="switchVerbose">Verbose output</label> </div> <div class="form-check form-switch"> <input class="form-check-input" type="checkbox" id="switchVeryVerbose"> <label class="form-check-label" for="switchVeryVerbose">Very verbose output</label> </div> <div class="form-check form-switch"> <input class="form-check-input" type="checkbox" id="switchShowText" checked> <label class="form-check-label" for="switchShowText">Show text</label> </div> <div class="form-check form-switch"> <input class="form-check-input" type="checkbox" id="switchSubmissionCheck"> <label class="form-check-label" for="switchSubmissionCheck">Submission check</label> </div> </div> </div> <div class="row mt-2"> <div class="d-grid gap-2 d-md-flex justify-content-md-center"> <button class="btn btn-primary btn-lg flex-grow-1" type="button" value="idnits" id="buttonIdnits" data-title="Check" data-bs-toggle2="tooltip" data-bs-placement="bottom" title="Check for ID nits.">Check</button> <button class="btn btn-primary btn-lg flex-grow-1" type="button" value="submissioncheck" id="buttonSubmissionCheck" data-title="Submission Check" data-bs-toggle2="tooltip" data-bs-placement="bottom" title="Perform submission checks only.">Submission Check</button> </div> </div> </div> </main> <footer class="col-md-12 col-sm-12 border-top mt-5 py-5 bg-light-subtle text-center position-sticky"> <a href="https://www.ietf.org/" class="p-3">IETF</a> <a href="https://www.ietf.org/iesg/" class="p-3">IESG</a> <a href="https://www.iab.org/" class="p-3">IAB</a> <a href="https://www.irtf.org/" class="p-3">IRTF</a> <a href="https://www.ietf.org/llc/" class="p-3 text-nowrap">IETF LLC</a> <a href="https://trustee.ietf.org/" class="p-3 text-nowrap">IETF Trust</a> <a href="https://www.rfc-editor.org/" class="p-3 text-nowrap">RFC Editor</a> <a href="https://www.iana.org/" class="p-3">IANA</a> <a href="https://www.ietf.org/privacy-statement/" class="p-3 text-nowrap">Privacy Statement</a> <div class="small text-body-secondary py-3"> <a class="mx-2" href="/about">About Author Tools</a> <span class="mx-2"> <a class="mx-2" href="https://status.ietf.org" target="_blank">System Status</a> <span class="mx-2 text-danger"> <i class="bi bi-bug"></i> Report a bug: <a href="https://github.com/ietf-tools/author-tools/issues/new/choose">GitHub</a> <a href="mailto:tools-help@ietf.org">Email</a> </span> </span> </div> </footer> <script src="https://cdn.jsdelivr.net/npm/bootstrap@5.1.0/dist/js/bootstrap.bundle.min.js" integrity="sha384-U1DAWAznBHeqEIlVSCgzq+c9gqGAJn5c/t99JyeKa9xxaYpSvHU5awsuZVVFIhvj" crossorigin="anonymous"></script> <script src="scripts/idnits.js"></script> <!-- Matomo --> <script> var _paq = window._paq = window._paq || []; /* tracker methods like "setCustomDimension" should be called before "trackPageView" */ _paq.push(['trackPageView']); _paq.push(['enableLinkTracking']); (function() { var u="//analytics.ietf.org/"; _paq.push(['setTrackerUrl', u+'matomo.php']); _paq.push(['setSiteId', '9']); var d=document, g=d.createElement('script'), s=d.getElementsByTagName('script')[0]; g.async=true; g.src=u+'matomo.js'; s.parentNode.insertBefore(g,s); })(); </script> <!-- End Matomo Code --> <script>(function(){function c(){var b=a.contentDocument||a.contentWindow.document;if(b){var d=b.createElement('script');d.innerHTML="window.__CF$cv$params={r:'91354cc86aa46034',t:'MTczOTc5MDMwMi4wMDAwMDA='};var a=document.createElement('script');a.nonce='';a.src='/cdn-cgi/challenge-platform/scripts/jsd/main.js';document.getElementsByTagName('head')[0].appendChild(a);";b.getElementsByTagName('head')[0].appendChild(d)}}if(document.body){var a=document.createElement('iframe');a.height=1;a.width=1;a.style.position='absolute';a.style.top=0;a.style.left=0;a.style.border='none';a.style.visibility='hidden';document.body.appendChild(a);if('loading'!==document.readyState)c();else if(window.addEventListener)document.addEventListener('DOMContentLoaded',c);else{var e=document.onreadystatechange||function(){};document.onreadystatechange=function(b){e(b);'loading'!==document.readyState&&(document.onreadystatechange=e,c())}}}})();</script></body> </html>