The toString() method returns a string representing the specified Symbol object.



Return value

A string representing the specified Symbol object.


The Symbol object overrides the toString method of the Object object; it does not inherit Object.prototype.toString(). For Symbol objects, the toString method returns a string representation of the object.

No string concatenation

While you can call toString() on Symbols, you can't use string concatenation with them:

Symbol('foo') + 'bar';       // TypeError: Can't convert symbol to string


Symbol('desc').toString();   // "Symbol(desc)"

// well-known symbols
Symbol.iterator.toString();  // "Symbol(Symbol.iterator)

// global symbols
Symbol.for('foo').toString() // "Symbol(foo)"


Specification Status Comment
ECMAScript 2015 (6th Edition, ECMA-262)
The definition of 'Symbol.prototype.toString' in that specification.
Standard Initial definition.
ECMAScript Latest Draft (ECMA-262)
The definition of 'Symbol.prototype.toString' in that specification.

Browser compatibility

FeatureChromeEdgeFirefoxInternet ExplorerOperaSafari
Basic support381236 No259
FeatureAndroid webviewChrome for AndroidEdge mobileFirefox for AndroidOpera AndroidiOS SafariSamsung Internet
Basic support Yes38 Yes36259 Yes

See also

Document Tags and Contributors

Contributors to this page: wbamberg, fscholz, jameshkramer, nmve, kdex, eduardoboucas
Last updated by: wbamberg,