라벨로 Labelo 무료로 시작 EN

영양성분표 만들기 A to Z: 표시 단위부터 반올림, %기준치까지

영양성분표 만들기는 다섯 단계예요. 표시할 항목을 정하고, 어떤 기준으로 표시할지 고르고, 원료별 영양값을 합치고, 정해진 단위로 반올림하고, 마지막에 %기준치를 계산해요.

이 중에서 대부분 네 번째에서 틀려요. 원료 영양값을 더하는 건 엑셀로도 되거든요. 그런데 반올림은 성분마다 규칙이 따로 있고, 자릿수가 아니라 5kcal·5mg 같은 배수 단위로 끊어야 해서 수식 하나로 안 끝나요.

아래 내용은 2026년 1월 1일 시행된 「식품등의 표시기준」을 기준으로 정리했어요. 미래에 적용될 규정이 아니라 지금 지켜야 하는 규정이에요.

1단계. 표시해야 하는 9가지

의무 표시 대상은 아홉 가지예요. 열량, 나트륨, 탄수화물, 당류, 지방, 트랜스지방, 포화지방, 콜레스테롤, 단백질.

순서도 정해져 있어요. 열량은 총 내용량 아래 맨 위에 따로 쓰고, 나머지 여덟 개가 그 아래 본문에 들어가요. 나트륨부터 시작해서 단백질로 끝나는 순서 그대로예요.

비타민이나 무기질은 의무 9종에 들어가지 않아요. 그런데 여기에 함정이 하나 있어요. 표시할지 말지는 자유지만, 한번 표시하기로 하거나 "고칼슘" 같은 강조 표시를 붙이는 순간 형식이 강제됩니다. 명칭과 함량, 그리고 %기준치까지 세 개를 다 써야 해요. 함량만 쓰고 %를 빼면 위반이에요. 기준치의 2%보다 적으면 0으로 표시할 수 있고요.

표시 순서에도 규칙이 있어요. 당류는 탄수화물 아래, 트랜스지방과 포화지방은 지방 아래에 한 칸 들여쓰기로 들어가요. 고시가 정해둔 표시서식도안이 그렇게 생겼거든요. 아홉 개를 나란히 평평하게 늘어놓으면 도안을 지키지 않은 거예요.

2단계. 어떤 기준으로 표시할지 고르기

같은 제품이라도 "무엇 하나당" 영양성분을 보여줄지에 따라 숫자가 완전히 달라져요. 고를 수 있는 기준은 네 가지예요.

기준무엇을 분모로 쓰나
총 내용량당포장 하나에 든 전체 양
100g(mL)당100 고정
단위 내용량당개별 포장 하나의 양
1회 섭취참고량당고시가 품목별로 정해둔 기준량

기본은 총 내용량당이고, 이건 의무예요. 200g짜리 잼 한 병이면 200g 전체에 든 영양성분을 씁니다.

100g당은 의무가 아니라 선택지예요. 여기를 많이 헷갈려 해요. 총 내용량이 100g(mL)을 넘고 동시에 1회 섭취참고량의 3배도 넘으면, 총 내용량당 대신 100g당으로 쓸 수 있어요. 써야 하는 게 아니라 써도 되는 거예요.

반대로 의무인 경우가 따로 있어요. 개나 조각으로 나뉘는 제품에서 한 개의 양이 100g 이상이거나 1회 섭취참고량 이상이면 단위 내용량당으로 표시해야 해요. 고시가 든 예가 핫도그예요. 총 내용량 1,000g에 100g짜리 10개인 제품이면 100g 하나 기준으로 쓰고, 총 내용량과 개당 중량, 개수를 함께 적어요.

여기서 1회 섭취참고량이 뭔지 짚고 갈게요. 만 3세 이상 소비자가 보통 한 번에 먹는 양을 시장조사를 바탕으로 정해둔 값이에요. 우리가 정하는 게 아니라 고시 [표 3]에 품목별로 이미 적혀 있어요. 식품군 27개를 식품종, 식품유형, 세부까지 네 단계로 쪼갠 표예요.

몇 가지만 옮겨보면 이래요.

품목1회 섭취참고량
과자(강냉이·팝콘 외)30g
빵류(피자 외)70g
떡류100g
유탕면(봉지)120g
커피240mL
탄산음료200mL
드레싱15g
된장·고추장10g

우리 제품이 어느 식품유형에 속하는지부터 확정해야 이 값을 찾을 수 있어요. 그래서 식품유형 결정이 라벨의 출발점이에요.

3단계. 원료 영양값 합치기

배합비를 정했으면 원료마다 영양값을 찾아서 무게 비율대로 곱하고 더해요. 딸기 120g이 들어갔으면 딸기 100g당 값에 1.2를 곱하는 식이죠.

원료 영양값은 식약처 식품영양성분 데이터베이스에서 가져와요. 공공데이터라 누구나 쓸 수 있고 상업적 이용에도 제한이 없어요.

여기서 열량은 다르게 다뤄요. 열량은 원료값을 합산하는 게 아니라, 고시가 정한 계수로 산출해요. 그것도 원시값이 아니라 반올림해서 표시할 값을 기준으로요.

성분1g당
탄수화물4kcal
단백질4kcal
지방9kcal
알코올7kcal
유기산3kcal

당알콜이나 식이섬유를 따로 표시한다면 계수가 또 달라져요. 당알콜은 2.4kcal(에리스리톨은 0), 식이섬유는 2kcal, 타가토스는 1.5kcal, 알룰로오스는 0kcal예요.

원료 데이터베이스에도 열량 값이 들어 있어서 그걸 그냥 더하고 싶어지는데, 고시가 요구하는 방식은 그게 아니에요. 반올림 순서가 달라서 두 값이 어긋날 수 있어요.

진짜 막히는 지점은 따로 있어요. 마가린, 각종 믹스, 소스 베이스 같은 브랜드 가공 원료는 공공 데이터베이스에 없어요. 이런 원료는 공급사에서 받은 시험성적서나 규격서의 값을 써야 해요. 처음 라벨을 만들 때 시간이 가장 많이 드는 게 보통 이 부분이에요.

4단계. 반올림, 여기가 함정이에요

합산이 끝나면 소수점이 잔뜩 붙은 값이 나와요. 이걸 고시가 정한 단위로 정리해야 하는데 규칙이 성분마다 따로 있어요.

성분반올림 단위0으로 써도 되는 기준
열량5kcal5kcal
나트륨120mg 이하는 5mg, 넘으면 10mg5mg
탄수화물1g0.5g
당류1g0.5g
지방5g 이하는 0.1g, 넘으면 1g0.5g
포화지방5g 이하는 0.1g, 넘으면 1g0.5g
트랜스지방5g 이하는 0.1g, 넘으면 1g0.2g
콜레스테롤5mg2mg
단백질1g0.5g

나트륨은 구간이 두 개예요. 120mg을 경계로 반올림 단위가 5mg에서 10mg으로 바뀝니다. 지방과 포화지방, 트랜스지방도 5g을 경계로 0.1g에서 1g으로 거칠어져요. 하나의 단위로 전부 처리하면 어긋나요.

표의 오른쪽 열은 허용이지 의무가 아니에요. 해당하면 0으로 표시할 수 있어요. 반드시 0으로 써야 한다는 건 아닙니다. 실제 값을 그대로 적는 것도 허용돼요. 어느 쪽이 유리한지는 제품과 마케팅 방향에 따라 달라져요.

그리고 이 반올림은 도구가 기본으로 해주는 반올림과 다릅니다. 고시가 요구하는 건 사사오입이에요. 5는 무조건 올려요. 어긋나는 지점이 두 군데예요.

첫째는 단위예요. 위 표의 반올림 단위는 소수점 자릿수가 아니라 5kcal, 5mg, 10mg 같은 배수예요. 엑셀 ROUND는 자릿수 단위로만 반올림해서 여기에 안 맞아요. 배수로 반올림하려면 MROUND를 써야 하고, 나트륨처럼 120mg을 경계로 단위가 바뀌는 성분은 IF로 구간을 갈라줘야 해요.

둘째는 5를 어느 쪽으로 붙이느냐예요. 엑셀 ROUNDMROUND는 사사오입이라 이 부분은 괜찮은데, 파이썬 내장 `round()`는 5를 짝수 쪽으로 붙여요. round(112.5)를 하면 113이 아니라 112가 나옵니다. 직접 스크립트를 짜서 계산한다면 여기가 조용히 어긋나는 지점이에요. 파이썬이라면 DecimalROUND_HALF_UP을 지정해야 고시대로 나와요.

그리고 0과 실제 값 사이에 "미만" 문구를 쓰는 구간이 따로 있어요. 콜레스테롤이라면 "5mg 미만", 탄수화물이나 당류, 단백질이라면 "1g 미만" 같은 식이에요.

5단계. %영양성분기준치 계산하기

마지막이 % 계산이에요. 표시할 함량을 기준치로 나누고 100을 곱한 다음, 소수점 첫째 자리에서 반올림해서 정수로 씁니다.

기준치는 성분별로 정해져 있어요. 의무 표시 9종 중에서는 이렇습니다.

성분기준치
나트륨2,000mg
탄수화물324g
당류100g
지방54g
포화지방15g
콜레스테롤300mg
단백질55g

열량과 트랜스지방은 %를 쓰지 않아요. 열량은 애초에 기준치 표에 항목이 없고 트랜스지방은 % 표시 대상에서 빠져 있어요.

함량을 "0"이나 "1g 미만"으로 표시한 경우, %는 그 표시값이 아니라 반올림하기 전 실제 값으로 계산해요. 지방을 0으로 표시했더라도 실제로 0.32g이 들어 있었다면 %는 0.32를 기준으로 산출하는 거죠.

표 아래에는 이 문구가 들어가야 해요.

1일 영양성분 기준치에 대한 비율(%)은 2,000kcal 기준이므로 개인의 필요 열량에 따라 다를 수 있습니다

실제로 해보면 이런 흐름이에요

200g짜리 딸기잼 한 병을 예로 들어볼게요. 원료 영양값을 합산했더니 총 내용량 200g 기준으로 이런 원시값이 나왔다고 해볼게요.

성분합산 원시값반올림 후%기준치
나트륨27.4mg25mg1%
탄수화물128.6g129g40%
당류121.2g121g121%
지방0.32g0.3g1%
트랜스지방0.05g0g표시 안 함
포화지방0.18g0.2g1%
콜레스테롤0mg0mg0%
단백질2.4g2g4%

열량은 이 표가 끝난 다음에 나와요. 반올림해서 표시할 값에 계수를 곱하거든요.

탄수화물 129g에 4를 곱하면 516, 단백질 2g에 4를 곱하면 8, 지방 0.3g에 9를 곱하면 2.7이에요. 다 더하면 526.7kcal이고, 5단위로 반올림해서 525kcal이 됩니다.

몇 군데 더 짚어볼게요.

나트륨 27.4는 120mg 이하 구간이라 5단위로 반올림해서 25가 됐어요. 지방 0.32는 5g 이하 구간이라 0.1단위로 반올림해서 0.3이 되고요. 0.5보다 작으니 0으로 써도 되지만, 여기서는 실제 값을 살렸어요.

트랜스지방 0.05는 0.2보다 작아서 0이에요. 그리고 트랜스지방은 원래 %를 쓰지 않죠.

당류가 121%인 게 눈에 띌 거예요. 잼이니까요. 이렇게 기준치를 넘는 값도 그대로 씁니다. 100%에서 잘라내지 않아요.

직접 하면 얼마나 걸릴까요

처음 한 제품은 반나절에서 하루쯤 걸려요. 시간을 잡아먹는 건 계산이 아니라 원료 데이터를 찾는 일이에요. 특히 가공 원료 시험성적서를 공급사에 요청하고 받는 데 며칠이 걸리기도 해요.

두 번째 제품부터는 훨씬 빨라져요. 원료 데이터가 이미 손에 있으니까요.

라벨로는 배합비만 넣으면 이 다섯 단계를 한 번에 처리해요. 반올림 규칙과 %기준치가 고시 기준으로 들어가 있고 영양성분표뿐 아니라 원재료명과 알레르기 표시까지 같이 만들어 줘요. 무료로 써볼 수 있으니 한 제품 넣어보고 직접 계산한 값과 맞춰보는 것도 방법이에요.

자주 묻는 질문

시험성적서 없이 데이터베이스 계산만으로 표시해도 되나요?

네, 됩니다. 영양성분 표시는 실측 시험을 반드시 거쳐야 하는 게 아니에요. 다만 표시한 값과 실제 측정값의 차이가 허용오차를 벗어나면 그 책임은 영업자에게 있어요.

반올림했더니 0이 나왔어요. 0으로 써도 되나요?

쓸 수 있어요. 다만 "써야 한다"가 아니라 "쓸 수 있다"예요. 실제 값을 그대로 적는 것도 허용됩니다. 어느 쪽이 나은지는 제품 성격에 따라 달라요.

100g당으로 표시해야 하나요, 총 내용량당으로 해야 하나요?

의무는 총 내용량당이에요. 총 내용량이 100g을 넘고 1회 섭취참고량의 3배도 넘으면 100g당으로 바꿔 쓸 수 있지만, 이건 의무가 아니라 선택이에요. 반대로 개나 조각으로 나뉘는 제품에서 한 개가 100g 이상이거나 1회 섭취참고량 이상이면 단위 내용량당 표시가 의무입니다.

비타민도 표시해야 하나요?

의무 9종에는 들어가지 않아요. 표시할지 말지는 자유예요. 다만 표시하기로 했거나 강조 표시를 붙였다면, 명칭과 함량에 더해 %기준치까지 써야 해요. 셋 중 하나라도 빠지면 위반이에요.

열량은 원료 영양값을 더하면 되나요?

아니요. 열량은 반올림해서 표시할 값에 계수를 곱해 산출해요. 탄수화물과 단백질은 1g당 4kcal, 지방은 9kcal예요. 원료 데이터베이스의 열량 값을 그냥 더하는 방식과는 결과가 다를 수 있어요.

계산한 값이 나중에 검사값과 다르면 어떻게 되나요?

성분마다 허용되는 오차 범위가 정해져 있어요. 열량이나 나트륨, 당류처럼 넘치면 안 되는 성분이 있고, 단백질이나 식이섬유처럼 모자라면 안 되는 성분이 있어요. 방향이 반대라 헷갈리기 쉬운 부분이에요.

라벨, 직접 만들어 볼까요?

원료만 넣으면 영양성분표·원재료명·원산지·알레르기까지 한 번에 나와요.

무료로 시작하기