This feature is non-standard and is not on a standards track. Do not use it on production sites facing the Web: it will not work for every user. There may also be large incompatibilities between implementations and the behavior may change in the future.

The uneval() function creates a string representation of the source code of an Object.




A JavaScript expression or statement.

Return value

A string representing the source code of the given Object.

Note: You won't get a valid JSON representation of your Object.


uneval() is a top-level function and is not associated with any object.


var a = 1;
uneval(a); // returns a String containing 1

var b = "1";
uneval(b) // returns a String containing "1"

uneval(function foo(){}); // returns "(function foo(){})"

var a = uneval(function foo(){return 'hi'});
var foo = eval(a);
foo(); // returns "hi"


Not part of any specifications.

Browser compatibility

Feature Chrome Firefox (Gecko) Internet Explorer Opera Safari
Basic support No support (Yes) No support No support No support
Feature Android Chrome for Android Firefox Mobile (Gecko) IE Mobile Opera Mobile Safari Mobile
Basic support No support No support (Yes) No support No support No support

See also

Document Tags and Contributors

 Last updated by: eduardoboucas,