JSX
HTML
React
Web Development
Frontend Development
Programming
JavaScript

What JSX really is and why it’s not HTML

Listen to article
Deepak Tewatia
September 13, 2025
3 min read

What is JSX?

JSX stands for JavaScript XML. It is a special syntax that looks a lot like HTML, but it's actually a way to write JavaScript code. JSX allows developers to write HTML-like code directly within JavaScript. This makes it easier to build user interfaces, especially with libraries like React.

JSX vs. HTML

While JSX resembles HTML, there are key differences to understand. Here's the thing: JSX is not HTML. It may look like it, but they are different in many ways. Let’s break it down:

  • JavaScript Expressions: In JSX, you can use JavaScript expressions wrapped in curly braces {}. For example:
const name = "John";
const greeting = 

Hello, {name}!

;

This means you can easily insert dynamic content into your markup.

Attributes in JSX

In HTML, you use attributes like class to define styles. In JSX, you need to use className instead. This is because class is a reserved word in JavaScript. Here’s an example:

<div className="container">
  <p>This is a paragraph.</p>
</div>

Styling with JSX

When it comes to styles, you can use inline styles in JSX as well. Inline styles are used as an object with camelCase properties. For instance:

<div style={{ backgroundColor: 'blue', color: 'white' }}>
  This has blue background and white text.
</div>

Closing Tags and Self-Closing Tags

JSX requires that all tags be properly closed. This means that, unlike in HTML, you need to close every tag. Here’s an example of a self-closing tag:

<img src="image.jpg" alt="A beautiful view" />

JSX and React

If you are using React, JSX is a very useful tool. React allows you to create components, and with JSX, you can build these components easily. A simple React component might look like this:

function Welcome() {
  return <h1>Welcome to my website!</h1>;
}

This function can then be used like any HTML tag in your application.

Why Use JSX?

There are several reasons why JSX is beneficial:

  • Readability: JSX makes it easier to read code by allowing you to see the structure of your UI at a glance.
  • Combining Logic and Markup: You can combine JavaScript and HTML-like syntax, making it simpler to manage state and behavior.
  • Tooling Support: When using tools like Babel, JSX can be transformed into regular JavaScript, making your code more efficient.

Conclusion

Understanding JSX is key for anyone working with React. It allows for a clear way to write your UI while leveraging the power of JavaScript. The differences between JSX and HTML are important to grasp, as they can affect how you write and structure your code. The next time you build a component, think about how JSX can simplify your workflow and enhance your web applications.

Comments

Y
You
Commenting
0/2000
Loading comments…