When I first started working with React, I didn’t pay much attention to naming conventions. As a Python developer for more than 10 years, I was used to snake_case and sometimes camelCase.
But in React, things are different. If you don’t follow consistent naming rules, your project quickly becomes messy. That makes it harder for teammates to read and maintain your code.
In this tutorial, I’ll share the React component naming conventions that I personally use in my projects. These are simple, practical, and proven to keep codebases clean and scalable.
Method 1 – Use PascalCase for Component Names
In React, components should always be written in PascalCase. This means every word starts with a capital letter.
// ✅ Correct
function UserProfile() {
return <h1>User Profile</h1>;
}
// ❌ Wrong
function userprofile() {
return <h1>User Profile</h1>;
}You can see the output in the screenshot below.

I always use PascalCase because React treats lowercase names as HTML elements. This small habit prevents unexpected bugs.
Method 2 – Use camelCase for Functions and Variables
For helper functions, hooks, and variables, I stick to camelCase. It keeps the distinction clear between components and functions.
// ✅ Correct
const fetchUserData = () => {
return { name: "John Doe", location: "New York" };
};
// ❌ Wrong
const FetchUserData = () => {
return { name: "John Doe", location: "New York" };
};You can see the output in the screenshot below.

This way, when I see PascalCase, I know it’s a component. camelCase instantly tells me it’s a function or variable.
Method 3 – Prefix Custom Hooks with “use”
React hooks follow a strict naming pattern. Any custom hook should be prefixed with use.
// ✅ Correct
function useUserLocation() {
return "California, USA";
}
// ❌ Wrong
function getUserLocation() {
return "California, USA";
}You can see the output in the screenshot below.

I follow this convention because React’s linter checks for it. If your hook doesn’t start with “use,” you’ll miss out on important warnings.
Method 4 – Consistent File Naming
I name component files using PascalCase and keep one component per file.
# ✅ Correct
src/components/UserProfile.js
src/components/Dashboard.js
# ❌ Wrong
src/components/userprofile.js
src/components/dashboard_component.jsYou can see the output in the screenshot below.

This makes it easy to find files in large projects. When I see UserProfile.js, I immediately know it contains the UserProfile component.
Method 5 – Meaningful and Descriptive Names
I avoid short, cryptic names. Instead, I use descriptive names that explain what the component or function does.
// ✅ Correct
function ShoppingCartSummary() {
return <div>Cart Summary</div>;
}
// ❌ Wrong
function SC() {
return <div>Cart Summary</div>;
}You can see the output in the screenshot below.

This helps new developers on the team understand the code without extra explanations.
Method 6 – Constants in UPPERCASE
For constants, I always use UPPERCASE.
// ✅ Correct
const API_URL = "https://api.example.com";
// ❌ Wrong
const apiUrl = "https://api.example.com";This makes constants stand out, so I know they won’t change during execution.
Method 7 – Avoid Abbreviations
It’s tempting to shorten names, but abbreviations often create confusion.
// ✅ Correct
function CustomerDetails() {
return <div>Details</div>;
}
// ❌ Wrong
function CustDet() {
return <div>Details</div>;
}I always write full names, even if they’re longer. It’s better for readability and collaboration.
Method 8 – Group Related Components with Prefixes
When I build dashboards or forms, I prefix related components to keep them organized.
// ✅ Correct
DashboardHeader.js
DashboardSidebar.js
DashboardContent.js
// ❌ Wrong
Header.js
Sidebar.js
Content.jsThis avoids naming conflicts and makes searching easier in large projects.
Method 9 – Use Index.js for Barrel Exports
For folders with multiple related components, I use an index.js file to simplify imports.
// Inside components/Dashboard/index.js
export { default as DashboardHeader } from "./DashboardHeader";
export { default as DashboardSidebar } from "./DashboardSidebar";
export { default as DashboardContent } from "./DashboardContent";Now I can import everything neatly:
import { DashboardHeader, DashboardSidebar } from "./components/Dashboard";This keeps imports clean and avoids long relative paths,
Method 10 – Follow Team Guidelines
Every team may have its own style guide. When I work with others, I always adapt to the agreed conventions. Consistency across the team is more important than personal preference.
Naming conventions may look like small details, but they make a huge difference in React projects.
When I follow these rules, PascalCase for components, camelCase for functions, meaningful names, and consistent file organization, my code becomes easier to read, debug, and scale.
If you’re starting a new React project today, try applying these conventions right away. They’ll save you and your team countless hours in the long run.
You may read:
- React Cancel Button
- How to Upload Files in React JS
- How to Reset Form in React JS
- How to Handle Events in React JS

I am Bijay Kumar, a Microsoft MVP in SharePoint. Apart from SharePoint, I started working on Python, Machine learning, and artificial intelligence for the last 5 years. During this time I got expertise in various Python libraries also like Tkinter, Pandas, NumPy, Turtle, Django, Matplotlib, Tensorflow, Scipy, Scikit-Learn, etc… for various clients in the United States, Canada, the United Kingdom, Australia, New Zealand, etc. Check out my profile.