The trim() method removes whitespace from both ends of a string. Whitespace in this context is all the whitespace characters (space, tab, no-break space, etc.) and all the line terminator characters (LF, CR, etc.).




The trim() method returns the string stripped of whitespace from both ends. trim() does not affect the value of the string itself.


Using trim()

The following example displays the lowercase string 'foo':

var orig = '   foo  ';
console.log(orig.trim()); // 'foo'

// Another example of .trim() removing whitespace from just one side.

var orig = 'foo    ';
console.log(orig.trim()); // 'foo'


Running the following code before any other code will create trim() if it's not natively available.

if (!String.prototype.trim) {
  String.prototype.trim = function () {
    return this.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g, '');


Specification Status Comment
ECMAScript 5.1 (ECMA-262)
The definition of 'String.prototype.trim' in that specification.
Standard Initial definition. Implemented in JavaScript 1.8.1.
ECMAScript 2015 (6th Edition, ECMA-262)
The definition of 'String.prototype.trim' in that specification.
ECMAScript 2017 Draft (ECMA-262)
The definition of 'String.prototype.trim' in that specification.

Browser compatibility

Feature Chrome Firefox (Gecko) Internet Explorer Opera Safari
Basic support (Yes) 3.5 (1.9.1) 9 10.5 5
Feature Android Chrome for Android Firefox Mobile (Gecko) IE Mobile Opera Mobile Safari Mobile
Basic support (Yes) (Yes) (Yes) (Yes) (Yes) (Yes)

See also