This is my face on wisdom tooth extraction day 2 Is it normal
How long until the swelling goes down completely?
| Day | What to expect |
|---|---|
| Day 1-2 | Swelling builds up, peaks around 48-72 hours |
| Day 3-4 | Swelling starts to noticeably decrease |
| Day 5-7 | Most of the visible puffiness is gone |
| Day 10-14 | Swelling fully resolved in most cases |
What's the best way to speed up swelling reduction?
The swelling is warm
When can I brush my teeth normally again?
Create a post-extraction recovery checklist I can reference
mkdir -p /tmp/workspace/wisdom-tooth-recovery && ls /tmp/workspace/wisdom-tooth-recovery/
python3 << 'EOF' from docx import Document from docx.shared import Pt, Inches, RGBColor from docx.enum.text import WD_ALIGN_PARAGRAPH from docx.oxml.ns import qn from docx.oxml import OxmlElement doc = Document() # Page margins from docx.shared import Inches section = doc.sections[0] section.top_margin = Inches(0.8) section.bottom_margin = Inches(0.8) section.left_margin = Inches(1.0) section.right_margin = Inches(1.0) # Default style normal = doc.styles['Normal'] normal.font.name = 'Arial' normal.font.size = Pt(11) def add_colored_heading(doc, text, level=1, r=31, g=97, b=141): heading = doc.add_heading(text, level=level) heading.alignment = WD_ALIGN_PARAGRAPH.LEFT for run in heading.runs: run.font.color.rgb = RGBColor(r, g, b) run.font.name = 'Arial' return heading def add_checkbox_item(doc, text, indent=False): p = doc.add_paragraph(style='Normal') p.paragraph_format.left_indent = Inches(0.3 if not indent else 0.6) p.paragraph_format.space_before = Pt(2) p.paragraph_format.space_after = Pt(2) run = p.add_run('☐ ' + text) run.font.name = 'Arial' run.font.size = Pt(11) return p def add_info_item(doc, text, bold_prefix=None): p = doc.add_paragraph(style='Normal') p.paragraph_format.left_indent = Inches(0.3) p.paragraph_format.space_before = Pt(1) p.paragraph_format.space_after = Pt(1) if bold_prefix: run = p.add_run('• ' + bold_prefix + ': ') run.bold = True run.font.name = 'Arial' run.font.size = Pt(11) run2 = p.add_run(text) run2.font.name = 'Arial' run2.font.size = Pt(11) else: run = p.add_run('• ' + text) run.font.name = 'Arial' run.font.size = Pt(11) return p def add_warning_item(doc, text): p = doc.add_paragraph(style='Normal') p.paragraph_format.left_indent = Inches(0.3) p.paragraph_format.space_before = Pt(2) p.paragraph_format.space_after = Pt(2) run = p.add_run('⚠ ' + text) run.font.name = 'Arial' run.font.size = Pt(11) run.font.color.rgb = RGBColor(180, 50, 50) return p def add_divider(doc): p = doc.add_paragraph() p.paragraph_format.space_before = Pt(2) p.paragraph_format.space_after = Pt(2) pPr = p._p.get_or_add_pPr() pBdr = OxmlElement('w:pBdr') bottom = OxmlElement('w:bottom') bottom.set(qn('w:val'), 'single') bottom.set(qn('w:sz'), '6') bottom.set(qn('w:space'), '1') bottom.set(qn('w:color'), 'CCCCCC') pBdr.append(bottom) pPr.append(pBdr) # ─── TITLE ─── title = doc.add_paragraph() title.alignment = WD_ALIGN_PARAGRAPH.CENTER title.paragraph_format.space_before = Pt(0) title.paragraph_format.space_after = Pt(4) run = title.add_run('🦷 Wisdom Tooth Extraction') run.font.name = 'Arial' run.font.size = Pt(22) run.bold = True run.font.color.rgb = RGBColor(31, 97, 141) subtitle = doc.add_paragraph() subtitle.alignment = WD_ALIGN_PARAGRAPH.CENTER subtitle.paragraph_format.space_after = Pt(6) run = subtitle.add_run('Post-Extraction Recovery Checklist') run.font.name = 'Arial' run.font.size = Pt(13) run.font.color.rgb = RGBColor(100, 100, 100) add_divider(doc) note = doc.add_paragraph() note.alignment = WD_ALIGN_PARAGRAPH.CENTER note.paragraph_format.space_before = Pt(4) note.paragraph_format.space_after = Pt(10) run = note.add_run('Extraction Date: _______________ Tooth/Teeth Removed: _______________') run.font.name = 'Arial' run.font.size = Pt(10) run.font.color.rgb = RGBColor(120, 120, 120) run.italic = True # ─── DAY 1 ─── add_colored_heading(doc, 'Day 1 (First 24 Hours)', level=1) add_checkbox_item(doc, 'Bite down firmly on gauze for 30-45 minutes to control bleeding') add_checkbox_item(doc, 'Replace gauze every 30-45 min until bleeding slows to a gentle ooze') add_checkbox_item(doc, 'Apply ice pack — 20 min on, 20 min off — to reduce swelling') add_checkbox_item(doc, 'Keep head elevated (use 2-3 pillows, even while sleeping)') add_checkbox_item(doc, 'Take prescribed pain medication / ibuprofen on schedule with food') add_checkbox_item(doc, 'Eat soft, cool foods only (yogurt, ice cream, applesauce, soup)') add_checkbox_item(doc, 'Drink plenty of water — NO straws') add_checkbox_item(doc, 'NO smoking, vaping, or alcohol') add_checkbox_item(doc, 'NO vigorous rinsing or spitting') add_checkbox_item(doc, 'Brush other teeth gently — avoid the extraction site completely') add_divider(doc) # ─── DAY 2-3 ─── add_colored_heading(doc, 'Day 2-3 (Swelling Peaks)', level=1) add_checkbox_item(doc, 'Switch from ice to warm/cool compresses on the cheek') add_checkbox_item(doc, 'Continue ibuprofen on schedule to reduce inflammation') add_checkbox_item(doc, 'Begin gentle warm saltwater rinses (½ tsp salt in 1 cup warm water)') add_info_item(doc, 'Rinse gently after meals and before bed — no vigorous swishing', bold_prefix='Rinse tip') add_checkbox_item(doc, 'Keep head elevated, especially when resting') add_checkbox_item(doc, 'Soft foods only — no hard, crunchy, or chewy foods') add_checkbox_item(doc, 'Stay hydrated — still NO straws') add_checkbox_item(doc, 'Light activity is okay — NO gym, heavy lifting, or exercise') add_checkbox_item(doc, 'Brush teeth gently — still avoid the socket area') add_divider(doc) # ─── DAY 4-7 ─── add_colored_heading(doc, 'Day 4-7 (Improvement Phase)', level=1) add_checkbox_item(doc, 'Swelling should be visibly reducing — warm compresses still helpful') add_checkbox_item(doc, 'Pain and soreness should be lessening each day') add_checkbox_item(doc, 'Continue saltwater rinses after every meal') add_checkbox_item(doc, 'Gradually introduce semi-soft foods (scrambled eggs, pasta, soft bread)') add_checkbox_item(doc, 'Brush closer to the extraction site — very gently with soft brush') add_checkbox_item(doc, 'If stitches present: check if dissolving or if removal appointment needed') add_checkbox_item(doc, 'Avoid chewing on the extraction side') add_divider(doc) # ─── WEEK 2+ ─── add_colored_heading(doc, 'Week 2 onwards (Return to Normal)', level=1) add_checkbox_item(doc, 'Most swelling and bruising should be fully resolved by day 10-14') add_checkbox_item(doc, 'Can return to normal diet gradually — avoid hard/sharp foods near socket') add_checkbox_item(doc, 'Resume normal brushing including near the socket (soft brush)') add_checkbox_item(doc, 'If given irrigation syringe by dentist — begin using it around week 1-2') add_checkbox_item(doc, 'Resume normal exercise after ~1 week (if pain-free)') add_checkbox_item(doc, 'Attend follow-up appointment if scheduled') add_divider(doc) # ─── WHAT TO AVOID ─── add_colored_heading(doc, 'Always Avoid During Healing', level=1, r=150, g=40, b=40) add_warning_item(doc, 'Straws — suction can dislodge the blood clot (causes dry socket)') add_warning_item(doc, 'Smoking or vaping — dramatically slows healing') add_warning_item(doc, 'Alcohol — increases bleeding and inflammation') add_warning_item(doc, 'Hot foods and drinks in the first 24 hours') add_warning_item(doc, 'Poking the socket with your tongue or fingers') add_warning_item(doc, 'Vigorous rinsing or forceful spitting') add_warning_item(doc, 'Strenuous exercise for the first 3-5 days') add_divider(doc) # ─── RED FLAGS ─── add_colored_heading(doc, 'Seek Care Immediately If You Have', level=1, r=180, g=30, b=30) add_warning_item(doc, 'Fever above 38.5°C (101.3°F) with chills') add_warning_item(doc, 'Swelling that is spreading to your neck or eye') add_warning_item(doc, 'Difficulty breathing or swallowing') add_warning_item(doc, 'Severe worsening pain after day 3-4 (possible dry socket or infection)') add_warning_item(doc, 'Pus, foul smell, or very bad taste from the socket') add_warning_item(doc, 'Bleeding that won\'t stop after 1-2 hours of firm gauze pressure') add_warning_item(doc, 'Complete inability to open your mouth (trismus)') add_divider(doc) # ─── DRY SOCKET INFO ─── add_colored_heading(doc, 'About Dry Socket', level=1, r=31, g=97, b=141) p = doc.add_paragraph(style='Normal') p.paragraph_format.left_indent = Inches(0.3) p.paragraph_format.space_after = Pt(4) run = p.add_run('Dry socket (alveolar osteitis) occurs when the protective blood clot dislodges or dissolves before the wound heals. It causes a sudden sharp increase in pain around day 3-5, often radiating to the ear. If this happens, contact your dentist — it is easily treated with a medicated dressing.') run.font.name = 'Arial' run.font.size = Pt(10.5) run.font.color.rgb = RGBColor(60, 60, 60) add_divider(doc) # ─── NOTES ─── add_colored_heading(doc, 'My Notes', level=1, r=80, g=80, b=80) for _ in range(6): p = doc.add_paragraph() p.paragraph_format.space_before = Pt(2) p.paragraph_format.space_after = Pt(2) run = p.add_run('_' * 85) run.font.name = 'Courier New' run.font.size = Pt(10) run.font.color.rgb = RGBColor(180, 180, 180) # Footer note doc.add_paragraph() footer_p = doc.add_paragraph() footer_p.alignment = WD_ALIGN_PARAGRAPH.CENTER run = footer_p.add_run('This checklist is for general guidance only. Always follow your oral surgeon\'s specific instructions.') run.font.name = 'Arial' run.font.size = Pt(9) run.font.color.rgb = RGBColor(150, 150, 150) run.italic = True doc.save('/tmp/workspace/wisdom-tooth-recovery/Post_Extraction_Recovery_Checklist.docx') print("Done!") EOF
Post Extraction Recovery Checklist
Word Document · DOCX
Now a theonbing pain started