?>

Ultimate Packing List Generator – Easy Travel Packing Checklist for 2026

Travels Diary · Free travel tool

Build your travel packing list

Plan what to bring for your trip, adjust quantities, and tick items off as you pack. Save a checklist in this browser or print a copy to take with you.

No signup · Editable checklist · Print / PDF · Free downloads

Plan your trip
More trip options

When both dates are entered, travel days include departure and return. Weather is selected by you; this tool does not fetch forecasts.

Activities and personal needs

Saved packing lists

Saved lists and your latest generated checklist stay in this browser on this device. Clearing site data can remove them. Download a JSON backup for a separate copy.

How to use this packing list generator

  1. Choose a trip type, duration, expected weather and luggage style.
  2. Open More trip options to add laundry plans, travelers and personal needs.
  3. Generate the list, review each suggestion and remove anything that does not apply.
  4. Adjust quantities, add your own items, then save or print your checklist.

A personalized checklist helps you organize packing, but it cannot know everything about your journey. Check your transport provider’s baggage rules, your destination’s current requirements, and what your accommodation provides.

Example: packing for a week

For one adult taking a casual seven-day trip in mild weather, the following quantities are a starting point. Count clothing worn during travel, and adjust for laundry, exercise, formal events and personal preferences.

ItemStarting quantityAdjust for
Tops5–7Rewearing and laundry
Bottoms2–3Activities and dress requirements
Underwear7, plus an optional spareLaundry access
Socks4–7 pairsFootwear and activities
Sleepwear1–2 setsPersonal preference
Light layer1Evening temperatures
Comfortable shoes1 pairExtra activity-specific footwear

Pack around your laundry plan

A longer journey does not always need more clothes. Plan around the longest gap between washing opportunities. This generator uses your selected laundry interval for basic clothing quantities; it does not assume you will wash clothes when you select no planned laundry.

Allow drying time and keep a clean backup outfit when practical. For families or groups, review quantities for each traveler. A baby, a child and an adult will have different needs, even when they share accommodation.

Build a practical carry-on checklist

Choose clothing that combines easily and bring extra footwear for specific activities. Check whether your accommodation provides towels, toiletries or equipment before adding them. Put your optional items to one side and review them if space is tight.

Selecting carry-on suggests fewer tops through rewearing. It does not certify that your bag meets an airline’s rules. Use the dimensions and weight allowance attached to your booking, and check restricted items separately.

Review equipment for your activities

Beach, business, camping and city trips need different extras. The activity suggestions here are prompts to review. Confirm rental equipment with your operator and use a dedicated route or activity checklist for hiking, camping, diving and winter sports.

Make a final check before leaving

Review the forecast, confirm booking details and check that chargers work with your devices. Keep travel documents and arrival instructions accessible. Reopen your saved list when repacking for the journey home.

Packing list questions

Is the generator free?

Yes. Creating, editing, saving and downloading a list are free. No account is required.

Does it use live weather or destination rules?

No. You choose the expected weather. A destination name labels your trip; it does not trigger verified climate, electrical, visa or passport advice. Check official sources for your itinerary.

Can I edit and print the list?

Yes. Change quantities, enter estimated weights, add custom items or remove suggestions. Print / Save PDF opens a clean version containing all current items and quantities, regardless of the on-screen filter.

Will my saved list appear on another device?

Not automatically. Save a JSON backup and use Import a checklist backup on the other device. Share trip settings creates a new suggested list and does not include your edits or packed items.

Is the luggage weight exact?

No. It adds quantity multiplied by the entered grams for each item with a weight. Blank weights and the bag itself are excluded. Replace estimates with your own measurements and weigh the finished bag.

Plan the rest of your trip

Explore our historical sites in Japan guide or places to visit in Ireland, then return to adjust your packing for the activities you choose.

' ); win.document.close(); win.focus(); setTimeout(()=>win.print(),250); }field("type").innerHTML=Object.entries(TYPES).map(([k,v])=> '' ).join("");$("#td-extras").innerHTML=Object.entries(EXTRAS).map(([k,v])=> '' ).join("");$("#td-preset").innerHTML= ''+ PRESETS.map((p,i)=> '' ).join("");fill(normalize({days:7,people:1}));$("#td-preset").addEventListener("change",e=>{ if(e.target.value==="")return; const p=PRESETS[Number(e.target.value)]; fill(normalize({ type:p[1],days:p[2],weather:p[3],bag:p[4],laundry:p[5],extras:p[6] })); status("Preset loaded. Check weather and traveler count, then generate."); });["start","end"].forEach(k=>field(k).addEventListener("change",()=>{ field("days").readOnly=false; try{ const d=travelDays(field("start").value,field("end").value); if(d!==null){ field("days").value=d; field("days").readOnly=true; } status(""); }catch(err){ status(err.message); } }));form.addEventListener("submit",e=>{ e.preventDefault(); try{ const o=readOptions(); if(state&&!confirm( "Generate a fresh list? Save or download the current one first if you need it." ))return;state=makeState(o); $("#td-filter").value="all"; $("#td-search").value=""; render(); persist(); $("#td-result-title").focus(); $("#td-results").scrollIntoView({ behavior:matchMedia("(prefers-reduced-motion: reduce)").matches? "auto":"smooth", block:"start" }); status("Your checklist is ready."); }catch(err){ status(err.message); } });$("#td-name").addEventListener("change",updateName);$("#td-save").addEventListener("click",()=>{ if(!state)return; updateName(); if(saved.length>=20){ status("You have 20 saved lists. Download or delete one before saving another."); return; } const next=[...saved,cleanState(state)]; try{ localStorage.setItem(KEY,JSON.stringify(next)); saved=next; renderSaved(); status("List saved in this browser."); }catch{ status("Could not save. Download a JSON backup instead."); } });$("#td-saved-list").addEventListener("click",e=>{ const b=e.target.closest("button"); if(!b)return;if(b.dataset.load!==undefined){ if(state&&!confirm("Replace the current checklist with this saved list?"))return; state=cleanState(saved[Number(b.dataset.load)]); fill(state.o); $("#td-filter").value="all"; $("#td-search").value=""; render(); persist(); status("Saved list loaded."); }if(b.dataset.delete!==undefined&&confirm("Delete this saved copy?")){ const next=saved.filter((_,i)=>i!==Number(b.dataset.delete)); try{ localStorage.setItem(KEY,JSON.stringify(next)); saved=next; renderSaved(); }catch{ status("Could not delete the saved copy."); } } });$("#td-list").addEventListener("change",e=>{ const row=e.target.closest(".td-item"); if(!row||!state)return; const i=state.items.find(i=>i.id===row.dataset.id); const a=e.target.dataset.action; if(!i)return;if(a==="packed"){ i.packed=e.target.checked; row.classList.toggle("is-packed",i.packed); } if(a==="qty"){ i.qty=clamp(e.target.value,1,9999,1); e.target.value=i.qty; } if(a==="grams"){ i.grams=e.target.value===""?null:clamp(e.target.value,0,100000,0); e.target.value=i.grams===null?"":i.grams; }totals(); filters(); persist(); });$("#td-list").addEventListener("click",e=>{ const b=e.target.closest('[data-action="remove"]'); if(!b||!state)return; state.items=state.items.filter(i=>i.id!==b.closest(".td-item").dataset.id); render(); persist(); });$("#td-add").addEventListener("submit",e=>{ e.preventDefault(); if(!state)return; const name=textValue($("#td-custom-name").value,180); if(!name)return; if(state.items.length>=500){ status("This list has reached its 500-entry limit."); return; }state.items.push({ id:"c"+Date.now()+Math.random().toString(36).slice(2), group:$("#td-custom-group").value, name,qty:1,grams:null, essential:$("#td-custom-essential").checked, packed:false });$("#td-custom-name").value=""; $("#td-filter").value="all"; $("#td-search").value=""; render(); persist(); status("Item added."); });root.addEventListener("click",e=>{ const b=e.target.closest("[data-bulk]"); if(!b||!state)return; const a=b.dataset.bulk; if(a==="pack"||a==="unpack"){ state.items.forEach(i=>i.packed=a==="pack"); render(); persist(); }else{ root.querySelectorAll(".td-category").forEach(c=>c.open=a==="open"); } });$("#td-search").addEventListener("input",filters); $("#td-filter").addEventListener("change",filters);$("#td-print").addEventListener("click",()=>{ updateName(); printList(); });$("#td-copy").addEventListener("click",()=>{ updateName(); copy(listText()); });$("#td-txt").addEventListener("click",()=>{ updateName(); download(listText(),"txt","text/plain;charset=utf-8"); });$("#td-csv").addEventListener("click",()=>{ updateName(); const rows=[ ["Category","Item","Quantity","Grams each","Priority","Packed"], ...state.items.map(i=>[ i.group,i.name,i.qty,i.grams===null?"":i.grams, i.essential?"Essential":"Optional",i.packed?"Yes":"No" ]) ]; download( "\uFEFF"+rows.map(r=>r.map(csvCell).join(",")).join("\r\n"), "csv","text/csv;charset=utf-8" ); });$("#td-backup").addEventListener("click",()=>{ updateName(); download(JSON.stringify(state,null,2),"json","application/json"); });$("#td-share").addEventListener("click",()=>{ const url=new URL(location.href); url.search=""; url.hash="tdpack="+encodeURIComponent(JSON.stringify({v:3,o:state.o})); copy(url.href); });$("#td-import").addEventListener("change",async e=>{ const file=e.target.files[0]; if(!file)return; try{ if(file.size>1000000) throw Error("Choose a checklist backup smaller than 1 MB.");const next=cleanState(JSON.parse(await file.text())); if(state&&!confirm("Replace the current checklist with this backup?"))return;state=next; fill(state.o); $("#td-filter").value="all"; $("#td-search").value=""; render(); persist(); status("Backup loaded. Save it to keep a named copy."); }catch(err){ status("Could not import: "+err.message); }finally{ e.target.value=""; } });$("#td-new").addEventListener("click",()=>{ if(state&&!confirm( "Start a new checklist? Save or download this one first if needed." ))return;state=null; $("#td-results").hidden=true; $("#td-trip").open=true; $("#td-trip-label").textContent="Plan your trip"; fill(normalize({days:7,people:1})); $("#td-preset").value=""; try{localStorage.removeItem(DRAFT);}catch{} status("Ready for a new trip."); });$("#td-theme").addEventListener("click",()=>{ const dark=root.dataset.theme!=="dark"; root.dataset.theme=dark?"dark":"light"; $("#td-theme").setAttribute("aria-pressed",String(dark)); try{localStorage.setItem(THEME,root.dataset.theme);}catch{} });try{ if(localStorage.getItem(THEME)==="dark"){ root.dataset.theme="dark"; $("#td-theme").setAttribute("aria-pressed","true"); }const data=JSON.parse(localStorage.getItem(KEY)||"[]"); if(Array.isArray(data)){ saved=data.slice(0,20).flatMap(s=>{ try{return [cleanState(s)];} catch{return [];} }); }const draft=localStorage.getItem(DRAFT); if(draft){ state=cleanState(JSON.parse(draft)); fill(state.o); render(); } }catch{ status("Saved data could not be loaded. You can still generate a list and download a backup."); }renderSaved();try{ const match=location.hash.match(/^#tdpack=(.*)$/); if(match){ if(match[1].length>12000)throw Error("Share link is too long."); const shared=JSON.parse(decodeURIComponent(match[1])); if(shared.v!==3)throw Error("Unsupported share link.");if(!state||confirm( "Load shared trip settings and replace the current checklist?" )){ state=makeState(normalize(shared.o)); fill(state.o); render(); persist(); status( "Shared trip settings loaded as a new checklist. "+ "Edits and packing progress are not included in share links." ); } } }catch{ status("This share link could not be loaded. Enter your trip details instead."); }})();

3 thoughts on “Ultimate Packing List Generator – Easy Travel Packing Checklist for 2026

Leave a Reply

Your email address will not be published. Required fields are marked *