The HTMLTableElement.createCaption() method returns the <caption> element associated with a given <table>. If no <caption> element exists on the table, this method creates it, and then returns it.

Note: If no caption exists, createCaption() inserts a new caption directly into the table. The caption does not need to be added separately as would be the case if Document.createElement() had been used to create the new <caption> element.


HTMLTableElement = table.createCaption();

Return value



This example uses JavaScript to add a caption to a table that initially lacks one.


  <tr><td>Cell 1.1</td><td>Cell 1.2</td><td>Cell 1.3</td></tr>
  <tr><td>Cell 2.1</td><td>Cell 2.2</td><td>Cell 2.3</td></tr>


let table = document.querySelector('table');
let caption = table.createCaption();
caption.textContent = 'This caption was created by JavaScript!';



Browser compatibility

Update compatibility data on GitHub
ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid webviewChrome for AndroidEdge MobileFirefox for AndroidOpera for AndroidSafari on iOSSamsung Internet
Basic supportChrome Full support YesEdge Full support YesFirefox Full support YesIE Full support YesOpera Full support YesSafari Full support YesWebView Android Full support YesChrome Android ? Edge Mobile Full support YesFirefox Android Full support YesOpera Android Full support YesSafari iOS Full support YesSamsung Internet Android ?


Full support  
Full support
Compatibility unknown  
Compatibility unknown

Document Tags and Contributors

Contributors to this page: mfluehr, fscholz, teoli, kscarfone, Sheppy, ethertank, RobG, Dria, JesseW
Last updated by: mfluehr,