JavaScript String fixed() Method

Beginner
5 min read
Updated: Nov 2026
3 examples
Method

Definition

String.prototype.fixed() is a legacy HTML wrapper that returns a new string wrapping your text in <tt>…</tt> (historically a fixed-width / teletype font). It takes no parameters and never mutates the original string.

Pass the required arguments shown below. Check return values and browser support before you rely on the result.

Syntax

Call string.fixed. Start with this line.

JavaScript
string.fixed()
CallWhat it does
string.fixed()Primary signature.
string.fixed(...)Call with the arguments your case needs.

Built into JavaScript. Call fixed(...) on a string (or String instance) — no import required.

Library declarations
JavaScript
string.fixed()

Parameters

This member has no parameters beyond those shown in the signature.

Return Value

Return ValueDescription
*HTML string with obsolete <tt> tags

JavaScript Examples

Example 1 — Basic Wrap

Call fixed() to build the classic <tt> HTML string.

JavaScript
const text = "Hello, world";

console.log(text.fixed());
// "<tt>Hello, world</tt>"
Try It Yourself

How It Works

  1. Start with text. "Hello, world" is a normal string.
  2. Call fixed(). No arguments — the method wraps the whole string.
  3. Get HTML markup. The return value is "<tt>Hello, world</tt>".
  4. Original stays put. text is still "Hello, world".

Example 2 — Empty String & Special Characters

See empty wrappers and that < is not escaped.

JavaScript
console.log("".fixed());       // "<tt></tt>"
console.log("A < B".fixed());  // "<tt>A < B</tt>"
console.log(typeof "x".fixed()); // "string"
Try It Yourself

How It Works

  1. Empty input. "".fixed() still wraps tags around nothing → "<tt></tt>".
  2. No escaping. "A < B" keeps the < character inside the markup.
  3. Type is string. You get text, not a live DOM element.
  4. Safety tip. Never feed untrusted input through fixed() into innerHTML.

Example 3 — Prefer CSS / <code>

Compare the legacy wrapper with a modern, semantic approach.

JavaScript
// Legacy — do not use in new code
console.log("npm start".fixed());
// "<tt>npm start</tt>"

// Prefer DOM + semantic code
const el = document.createElement("code");
el.textContent = "npm start";
console.log(el.outerHTML);
// "<code>npm start</code>"

// Or style only: el.style.fontFamily = "monospace";
Try It Yourself

How It Works

  1. Legacy path. "npm start".fixed() builds obsolete <tt> markup.
  2. Create a real element. createElement("code") is valid HTML for inline code.
  3. Set plain text. textContent is safer than injecting markup strings.
  4. Rule of thumb. Learn fixed() to read old code; ship CSS or <code> for new UI.

Browser & Runtime Support

String.prototype.fixed() is still implemented widely for compatibility, but it is deprecated. Do not use it in new projects.

✓ Deprecated · Legacy

String.prototype.fixed()

Available in major browsers and Node.js for legacy compatibility. Prefer CSS font-family: monospace or <code> for new code.

Legacy Compatibility only
Google Chrome Supported · Desktop & Mobile
Full support
Mozilla Firefox Supported · Desktop & Mobile
Full support
Apple Safari Supported · macOS & iOS
Full support
Microsoft Edge Supported · Chromium
Full support
Internet Explorer No native support · Use a polyfill
Polyfill
Opera Supported · Modern versions
Full support
Samsung Internet Supported · Android
Full support
Bun Supported · JavaScript runtime
Supported
Deno Supported · JavaScript runtime
Supported
Node.js Supported · Server runtime
Supported
Android WebView Supported · Modern WebView
Full support
fixed() Avoid in new code

Bottom line: Recognize fixed() when reading old code. For new UI, use CSS monospace or create a <code> element with textContent — never build obsolete <tt> markup with string wrappers.

Frequently Asked Questions

fixed() returns a new HTML string that wraps the text in a <tt> element — for example "Hello".fixed() returns "<tt>Hello</tt>". It takes no parameters and does not change the original string.
Yes. MDN marks all HTML wrapper methods as deprecated. The <tt> element itself was removed from the HTML specification. Prefer CSS font-family: monospace, or semantic tags like <code> when the meaning fits.
The <tt> element is obsolete. Modern HTML expects monospace styling from CSS, or semantic elements such as <code>, <kbd>, or <samp> when appropriate.
No. Strings are immutable. fixed() returns a new string containing HTML markup; the original text stays the same.
Set CSS font-family to a monospace stack, or use document.createElement("code") with textContent for inline code. Avoid building <tt> strings.
No. Characters like < and > are left as-is inside the wrapper. Never pass untrusted user input through fixed() into innerHTML.

Next: fontcolor()

Another deprecated HTML wrapper — this one builds <font color="…"> markup.

fontcolor() tutorial →

About the author

Mari Selvan M P
Mari Selvan M P 🔗

Developer, cloud engineer, and technical writer

  • Experience 12 years building web and cloud systems
  • Focus Full Stack Development, AWS, and Developer Education

I write practical tutorials so students and working developers can learn by doing—from databases and APIs to deployment on AWS.

6 people found this page helpful