Which is correct?

  1. front-end engineering
  2. frontend engineering
  3. front end engineering

I looked over http://www.grammarbook.com/punctuation/hyphens.asp, referenced in this answer, and I'm still not sure which to use.

Rule 1 under Hyphens Between Words says:

To check whether a compound noun is two words, one word, or hyphenated, you may need to look it up in the dictionary. If you can't find the word in the dictionary, treat the noun as separate words.

"Frontend" is not found at reference.com. "Front-end" and "front end" are both found, which "front end" as two words representing the software term, so I think this must be right. However...

Rule 1 under Hyphens With Prefixes says:

The current trend is to do away with unnecessary hyphens. Therefore, attach most prefixes and suffixes onto root words without a hyphen.

I think that "frontend" qualifies under this rule. Compare that with "backend" and it sounds to me that "front" and "back" are prefixes to "end".

Also, the most common usage I've noticed is "frontend" as a single word when talking about software. Common usage has to count for something, right?

What's considered the final say here?

  • Hello and welcome to the site! Your question has been closed as a duplicate of another. If you read that post and still don't feel that your question has been answered, then please feel free to edit this question to reflect what part of the answer in the duplicate you find incomplete. If you have questions about why your post was closed, please leave a comment here or ask on Meta.
    – Kit Z. Fox
    Jul 15 '11 at 18:58
  • 1
    If your concern is with job titles, it's interesting to look at the LinkedIn job title autocomplete suggestions. If you type "Frontend", it suggests "Frontend Developer" or "Frontend Engineer", but it doesn't give anything for "Front-end", and if you try "Front End" it only suggests "Front End Supervisor". I'm guessing this is powered by the most common entries, which suggests that in the tech industry "Frontend" is most commonly used.
    – jackocnr
    Jan 9 '14 at 3:12
  • @KitZ.Fox While I understand your argument for closing the question, the term(s) in question are so frequently used that consideration beyond applying the hyphenating vs non-hyphenating grammar rules discussed in the question this question supposedly duplicates seem pertinent.
    – kontur
    Jul 23 '15 at 14:39

For the compound noun front + end it is front end:


front end (plural front ends)

  1. (computing) that part of a hardware or software system that is closest to the user.

frontend and front-end are alternative forms.

The compound noun front + end + engineering may be another matter.

  • 1
    Agreed. After more searching, "front end" seems to be the most common form when used as a noun. I found it in dictionaries like Webster and Dictionary.com (and Wiktionary, as you pointed out). However, I think that Ascendant may be right that we might see a change in the foreseeable future as confused people like me mix it up as we go along ;) Jul 22 '11 at 2:49

"Frontend" and "backend" in this situation are technical terms, and as such I don't think they conform strictly to traditional ways of creating new words.

I'd put it in a similar category as putting the letter "e" in front of things: For example, should we call it e-mail and e-commerce or email and ecommerce? Most of us have settled on "email" but we split the difference on "e-commerce," but in any case, traditional language authority didn't move fast enough to lead this debate, but only explained or justified it after the fact.

So it goes with "frontend" and "backend", whichever one wins out may become enshrined by dictionaries (like "googling" yourself) or there may not be a winner in the forseeable future (such as in the "ecommerce" case)

  • 14
    I had a technical writing professor explain it's often just a matter of time before the hyphen disappears. The hyphen indicates the pairing is fairly common but still relatively new. By the time front-end becomes "frontend" there's already a consensus the new word stands on its own.
    – PJ Brunet
    May 8 '14 at 21:55
  • @PJBrunet But it is still H-bomb, X-ray, T-bone. Mar 25 '15 at 6:58
  • 2
    @FrederikKrautwald The difference between H-bomb/X-ray and the e-mail/e-... versions is probably caused by the fact that "email" is 2 syllables, and that's the same whether you write it as e-mail or email. However, when you write hbomb or xray it would be written as a 1 syllable word (and those sound horrible). The same goes for newer words starting with an "i".
    – user194431
    Dec 23 '16 at 10:19
  • 3
    Six years have passed since this question was asked and the battle is still ongoing. The internet hasn't yet settled on any one version, you can find all of them (frontend/front-end/front end) in roughly equal proportions if you do a google search. Jul 6 '18 at 5:52
  • There might be a difference in perception when you talk about the frontend as an object (the piece of code that grows bigger and bigger as JavaScript ecosystem evolves) and the front-end as a part of a system (which would be a more formal/historical vision in my opinion). Also as a French speaker the "front-end" form with hyphen is non-intuitive (and "front end" is worse), because we would never use the "end" word alone, we mostly use the "frontend" version in French sentences.
    – Eric Burel
    Feb 24 at 10:48

I like the spelling convention set in GCC Coding Convention:

  • "front end" (noun)
  • "front-end" (adjective)
  • 8
    "front end" (noun) like in; I work in the front end. "front-end" (adjective) like in; I work as a front-end developer.
    – numediaweb
    Oct 22 '13 at 14:19
  • This is the convention preferred by FreeCodeCamp, which I like as a non-native speaker: "Also, front-end development (adjective form with a dash) is when you’re working on the front end (noun form with no dash). The same goes with the back end, full stack, and many other compound terms."
    – Eric Burel
    Feb 24 at 10:40
  • @numediaweb Is that really how it works? Can anything become an adjective? I'm building a car. I'm a car builder. Seems odd that car would now be an adjective.
    – Erik B

"Front end" but "front-end engineering." It's really pretty simple: When you're using a compound as an adjective (that is, when it's modifying another noun) you hyphenate it, not because somebody said to, but to avoid confusion. That way you don't have people wondering what "end engineering" is. I think the comment about avoiding unnecessary hyphens is just to keep people from going overboard, like "hot-dog bun."

  • 3
    Mmmmm, I could really go for a steaming hot, delicious dog bun.
    – jimm101
    Sep 20 '18 at 23:35
  • 1
    – targumon
    Aug 13 '19 at 22:43

Your research under "Hyphens with Prefixes" may not apply to this case. While "front" is being added as a prefix, the rule is referring to prefixes like non-, un- and in-. So while words like nonaggression and unable do not have hyphens, frontend doesn't seem like a valid compound word.

Since "front" isn't a prefix in the same sense as those listed above, I believe you should use the rule of "Hyphens Between Words". Either "front end" or "front-end" would be valid under this rule.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.