CSV Format
Specifications for importing menu items via CSV.
Basic Format
File Requirements
- Format: CSV (Comma-Separated Values)
- Encoding: UTF-8 (recommended)
- Max Size: 10MB
- Header Row: Required
Column Separator
Use commas to separate values:
item_name,description,price
Burger,Delicious beef burger,12.99Columns
Required Columns
| Column | Description |
|---|---|
item_name or name | Item name (required) |
Optional Columns
| Column | Description | Example |
|---|---|---|
description | Item description | ”Grilled to perfection” |
price | Price in dollars | 12.99 |
menu | Menu name | ”Dinner Menu” |
section | Section name | ”Entrees” |
ingredients | Comma-separated list | ”beef, lettuce, tomato” |
allergens | Comma-separated list | ”wheat, dairy” |
Column Name Variations
These variations are accepted:
| Standard | Also Accepted |
|---|---|
item_name | name, item |
description | desc |
price | cost |
section | category |
Data Formats
Item Name
- Max Length: 100 characters
- Required: Yes
- Format: Plain text
item_name
Signature Burger
House SaladDescription
- Max Length: 500 characters
- Required: No
- Format: Plain text
description
"Our famous half-pound burger with secret sauce"Price
- Format: Decimal number
- Currency: Assumed USD
- Symbol: Optional (removed on import)
Valid formats:
12.99
$12.99
12
0.99Invalid formats:
12,99 (comma as decimal)
12.99 USD (text after number)
twelve (not a number)Menu
- Max Length: 100 characters
- Required: No
- Use: Auto-create menus during import
menu
Lunch Menu
Dinner MenuSection
- Max Length: 100 characters
- Required: No
- Use: Organize items in menu sections
section
Appetizers
Main Courses
DessertsIngredients
- Format: Comma-separated list
- Max Length: 1000 characters
- Use: Enables allergen suggestions
ingredients
"flour, butter, eggs, sugar, vanilla"Allergens
- Format: Comma-separated allergen names
- Values: Must match supported allergens
- Use: Pre-set allergen status
allergens
"wheat, dairy, eggs"Special Characters
Quotes
Use double quotes for values containing commas or quotes:
item_name,description
"Mac & Cheese","Creamy, cheesy pasta"To include a quote in a quoted value, double it:
"12"" Pizza","Our famous twelve-inch pizza"Line Breaks
Values with line breaks must be quoted:
description
"First line
Second line"Unicode
UTF-8 encoding supports:
- Accented characters (café, niño)
- Non-Latin alphabets
- Emoji (not recommended)
Example Files
Minimal CSV
item_name
Burger
Salad
PizzaBasic CSV
item_name,description,price
Burger,Half-pound beef patty,12.99
Salad,Fresh garden vegetables,9.99
Pizza,Hand-tossed pizza,15.99Complete CSV
item_name,description,price,menu,section,ingredients,allergens
Classic Burger,"Half-pound beef patty with lettuce, tomato, onion",12.99,Dinner Menu,Entrees,"beef, lettuce, tomato, onion, bun","wheat"
Caesar Salad,"Romaine lettuce with caesar dressing and croutons",9.99,Dinner Menu,Salads,"romaine, parmesan, croutons, caesar dressing","wheat, dairy, eggs"
Margherita Pizza,"Fresh mozzarella, basil, tomato sauce",15.99,Dinner Menu,Pizza,"flour, mozzarella, tomato, basil","wheat, dairy"Template
Download
Download the official template from the import modal in Menus > Items > Import.
Template Contents
item_name,description,price,menu,section,ingredients,allergens
Example Item,Description here,9.99,Menu Name,Section Name,"ingredient1, ingredient2","allergen1, allergen2"Common Errors
”Name column not found”
Cause: No column named item_name or name.
Fix: Add header row with correct column name.
”Invalid price format”
Cause: Price contains invalid characters.
Fix: Use numbers only with decimal point.
”Row X skipped: Empty name”
Cause: Row has empty name field.
Fix: Ensure every row has a name.
Best Practices
- Use the template - Start from official template
- UTF-8 encoding - Avoid character issues
- Quote complex values - When in doubt, use quotes
- Test small first - Import few rows initially
- Check preview - Review before final import
Last updated on