What did the Prophet ﷺ do to his enemies when he conquered Mecca? — credits
What the Prophet ﷺ did to his enemies when he took Mecca in January 630, by the most reliable reports: plain terms of safety with no demand to convert, fighting only where armed men resisted, a short list of exceptions, and the leading enemies of twenty-one years spared. A hand-made-style paper-collage animation, rendered live in your browser with plain JavaScript and canvas.
Sources for the story
- Sahih Muslim 1780 (a, b, c; Sahih): the terms "Whoever enters the house of Abu Sufyan is safe; whoever lays down his weapon is safe; whoever locks his door is safe" (1780c); "the people locked their doors" (1780a); Quraysh's armed followers and the order against those who came out to fight (1780a/b/c, explained by al-Nawawi); Abu Sufyan's words "No Quraysh after today!"; the Ansar at al-Safa and "I emigrated to Allah and to you. Life is your life, and death is your death."
- Sunan Abi Dawud 3021 (Hasan, al-Albani): al-Abbas's request for Abu Sufyan and the reply "Yes: whoever enters the house of Abu Sufyan is safe, and whoever locks his door on himself is safe", given at Marr al-Zahran.
- Sunan Abi Dawud 3022 (Hasan, al-Albani; Da'if, Zubair Ali Zai): al-Abbas's protection of Abu Sufyan, as reported by Ibn Abbas; "whoever enters the Sacred Mosque is safe" (narrated as "another version").
- Sahih al-Bukhari 4280 (the opening part from 'Urwah, mursal): the fires at Marr al-Zahran "like the fires of 'Arafah"; Abu Sufyan caught while looking for news; Sa'd ibn 'Ubadah's "Today is the day of slaughter" and "Sa'd was wrong; this is a day on which Allah will honour the Ka'bah"; two of Khalid's riders killed.
- Ibn Hisham, al-Sirah al-Nabawiyyah (Ibn Ishaq): the fuller account of Abu Sufyan's night in the camp (from Ibn Abbas); the order to fight only those who fought; the clash at al-Khandamah and the men named among its organisers ("the biographers say"); the third Muslim killed; the crimes of Ibn Khatal and Miqyas; "some people of knowledge told me" before the famous "Go, you are free".
- Meccan dead: the early biographers (Ibn Ishaq, Musa ibn 'Uqbah, Ibn Sa'd) give figures from about a dozen to nearly thirty; no sound chain fixes the number.
- Sahih al-Bukhari 4276 (Sahih): he set out in Ramadan with ten thousand.
- Sahih al-Bukhari 4287 and Sahih Muslim 1781 (Sahih): 360 idols around the House, struck with a stick while he recited Qur'an 17:81 (number as reported by Ibn Mas'ud).
- Sunan Abi Dawud 4547 (Hasan, al-Albani; Sahih, Zubair Ali Zai): "Every claim of pride from the Jahiliyyah, of blood or property, is under my feet…"
- al-Albani, al-Silsilah al-Da'ifah 1163: "Go, for you are free" has no established chain. The name al-Tulaqa' is sound: Sahih al-Bukhari 4333 ("ten thousand, and the Tulaqa'").
- Sunan an-Nasa'i al-Kubra 10784 (sunnah.com; 11234 in the printed edition; narrators graded reliable; the Yusuf words are an addition carried by one line of transmission and are absent from Muslim's routes and Abu Dawud 3024): "O people of Quraysh, what do you say?" … "No blame upon you today" (Qur'an 12:92). Told as al-Nasa'i's report.
- Sunan an-Nasa'i 4067 (Hasan, Darussalam): safety for the people except four men and two women; 'Ikrimah's flight by sea, the storm and his vow; Miqyas caught in the market.
- Sahih al-Bukhari 1846 (Sahih): Ibn Khatal found clinging to the curtains of the Ka'bah. Ibn 'Abd al-Barr, al-Istidhkar 4/404: "retaliation for a Muslim".
- Sunan Abi Dawud 4359 (Sahih, al-Albani) and 4358: Ibn Abi Sarh, a former scribe, who hid with 'Uthman and was brought by him; the three looks; "It is not fitting for a Prophet to have a treacherous eye." al-Saharanfuri, Badhl al-Majhud 9/317: the pledge made him safe. Ibn 'Abd al-Barr, al-Isti'ab 3/918-920: he later governed Egypt.
- The count in the soundest report and the longer lists: four men in the soundest report, two killed and two forgiven; Ibn Ishaq's list of eight, four killed and four spared; the widest compilation about fourteen, roughly half spared (Ibn Hajar, Fath al-Bari 8/11-12). The scholars' reasons are given as their views (al-Khattabi, Ibn 'Abd al-Barr, Ibn Taymiyyah).
- Muwatta' Malik 28/46 (mursal of al-Zuhri): "he leapt up towards him in joy" when 'Ikrimah came.
- Sunan Abi Dawud 3562 (Sahih, al-Albani; others weaken it): Safwan lent his armour for Hunayn ("By force, Muhammad?"). Muwatta' Malik 28/44 (mursal; "the early reports say"): Safwan's flight, the safe-conduct sent after him, and that he was still not a Muslim at Hunayn. Ibn Hisham 2/417: towards Jeddah.
- Sahih Muslim 2313 (Sahih): Safwan given a hundred, a hundred and a hundred after Hunayn, and "until he became the most beloved of people to me".
- Sahih al-Bukhari 2731 and Sahih Muslim 1784: Suhayl ibn 'Amr refused "Messenger of Allah" in the treaty, and it was changed at his demand; he became Muslim at the Conquest or soon after (al-Isti'ab).
- Sahih al-Bukhari 4072 (Sahih): Wahshi left for al-Ta'if and came with its delegation; "Did you kill Hamzah?" and "Can you keep your face away from me?"
- Jami' at-Tirmidhi 3129 (Hasan): the Ansar's vow after Uhud, and Qur'an 16:126 coming down at the Conquest by Ubayy ibn Ka'b's report. Zawa'id al-Musnad 5/135 (Hasan, al-Albani, al-Sahihah 2377): "We will be patient, and we will not retaliate."
- Sahih al-Bukhari 112 and 6880 (Abu Hurayrah) and Sunan Abi Dawud 4504 (Abu Shurayh; Sahih, al-Albani): Khuza'ah's revenge killing condemned; "I will pay his blood money."
- Sunan Abi Dawud 3023 (Sahih al-isnad, al-Albani): Jabir: no booty was taken on the day of the Conquest. The jurists' reported consensus (Ibn 'Abd al-Barr, al-Mawardi, Ibn Hajar): no one enslaved; houses and land kept. Ibn al-Qayyim, Zad al-Ma'ad 3/377-383: the emigrants' houses were not taken back.
- Sahih al-Bukhari 4333 (Sahih): the Ansar went home with the Prophet ﷺ after Hunayn.
- Sahih al-Bukhari 3856 (the garment twisted round his neck at the Ka'bah); Sahih al-Bukhari 3039 (Abu Sufyan led Quraysh at Uhud; the dead were mutilated); Sahih al-Bukhari 3965 and 240 ('Utbah, Shaybah and al-Walid ibn 'Utbah at Badr, seen dead in its well) with 7161 (Hind bint 'Utbah): Hind's father, uncle and brother.
- Sahih al-Bukhari 7161 (Sahih): Hind bint 'Utbah: "By Allah, there was no household on the face of the earth I wanted humbled more than yours…"
Out of respect, the Prophet ﷺ, the other prophets and the angels are never depicted, and people are shown only from behind.
Made with
- Narration: Google Gemini 3.8 Flash TTS (voice “Algieba”), directed and edited for this film.
- Illustrations: Google Gemini 3.1 Flash Image (backgrounds) and OpenAI GPT Image 2.5 (cut-outs), art-directed and reviewed frame by frame.
- Typefaces (SIL Open Font License): Caveat Brush, Caveat, Patrick Hand, Aref Ruqaa.
- Animation engine, sound design and mix: written for this series.
Sound
No music is used. All sound effects are CC0 unless noted.
- amb_army_on_foot — #473792 "Crowd Walking on Gravel Towards Temple" by timothyd4y, CC0 1.0 (both); #480450 "R11-29-Group of Men Walking and Running.wav" by craigsmith, CC0 1.0 (both). Edits: Crowd on gravel from src 9–31.5 s (HPF 70 Hz) plus a group walking from src 4–26.5 s (HPF 70 Hz, LPF 9 kHz, −4 dB). The #480450 window ends before its shouted command at 0:42. 20 s seamless loop at −24 LUFS. It gives a steady shuffle of many feet with no hooves and no intelligible voice, for the army filing through the narrows in Ch3.
- amb_desert_dusk_wind — #666175 "Wind in dry tall grass bulrush type, close recording with muffled air sometimes, gust of wind, far away tree, recorded in Arivaca Road desert in Arizona" by felix.blume, CC0 1.0. Edits: cut 92.0-114.5 s; HPF 100 Hz; 20 s seamless loop (2 s crossfade), -26 LUFS
- amb_desert_wind_gentle — Looping Gentle Wind Ambience on an Open Desert Plain.wav (Freesound) by dhallcomposer, CC0 1.0. Edits: source 2.0-38.0 s; highpass=f=50:poles=2; gentle dry wind on an open desert plain (Hijaz wadi, dusk); 30 s seamless loop, -24 LUFS; 48k/16-bit
- amb_dune_atmosphere — Desert sand - Dune atmosphere (Freesound) by Vrymaa, CC0 1.0. Edits: source 20.0-70.0 s; highpass=f=50:poles=2; desert dune atmosphere, light sand wind; 40 s seamless loop, -26 LUFS; 48k/16-bit
- amb_fire_crackle — #363092 "Fire Crackle and Flames 002" by TheWoodlandNomad, CC0 1.0. Edits: 10 s seamless crackle loop, -24 LUFS
- amb_harrah_noon_wind — #457159 "Desert binaural Wind.WAV" by Benbojangles, CC0 1.0. Edits: cut 692.00-756.00 s (steadiest stretch); HPF 60 Hz + 130 Hz (removes traffic-like mic rumble); -26 LUFS, 2 s fade-in/3 s fade-out (not a seamless loop)
- amb_jm_hollow_wind — #843069 "A light breeze, the rustle of reeds. The rustle of dry grass" by ReflektWave, CC0 1.0. Edits: cut 12.0-36.0 s; HPF 120 Hz x2, spike limiter; 22 s seamless loop (2 s crossfade), -24 LUFS
- amb_jm_lane_quiet — #653946 "Quiet breeze with bird singing softly, insect noises, a horse neighs far sometimes" by felix.blume, CC0 1.0. Edits: cut 25.0-49.0 s (no horse/insect buzz in this window); HPF 150 Hz x2; 22 s seamless loop (2 s crossfade), -24 LUFS
- amb_jm_palm_rustle — #423800 "Wind through Palm Trees.wav" by klangfabrik, CC0 1.0. Edits: cut 8.0-30.5 s; HPF 100 Hz; 20 s seamless loop (2 s crossfade), -24 LUFS
- amb_night — #522299 "Crickets At Night - Raw sound" by Defelozedd94, CC0 1.0; #165526 "Wind singing in the mountain, some night cricket in background" by felix.blume, CC0 1.0. Edits: mixed 55/45 (RMS matched), 20 s seamless loop (2 s crossfade), -26 LUFS
- amb_predawn_room — #210091 "room small night" by Yuval, CC0 1.0. Edits: source 270-323 s (clean stretch, no footsteps); HPF 50 Hz, LPF 9 kHz; 50 s seamless loop (2 s crossfade), -26 LUFS
- amb_storm_sea — #384359 "Waves Crashing Against Wall/Breakwater.wav" by Ali_6868, CC0 1.0 (all three); #331435 "Storm at Sea" by Codeine, CC0 1.0 (all three); #341368 "Windy Day.wav" by squashy555, CC0 1.0 (all three). Edits: Surf from src 18–66 s (HPF 45 Hz). Storm wind and spray from src 45–93 s (HPF 220 Hz ×2 to remove wind-on-mic thumps, LPF 8 kHz, −3 dB). Gale from src 24–72 s (HPF 110 Hz, −1 dB). The three are RMS-matched, summed, cut to a 40 s seamless loop and set to −24 LUFS. No thunder. Used for the storm at sea in Ch1 and inside 'Ikrimah's doorway in Ch7 (in sfx.json also high-passed at 100 Hz).
- amb_town_murmur_far — #640254 "geroezemoes.wav" by gecop, CC0 1.0. Edits: Crowd walla from src 28–92 s, band-limited to about 200 Hz–1.1 kHz (HPF 200 Hz ×2, LPF 1.1 kHz ×2) so it sounds far off and no word can be made out. 60 s seamless loop at −26 LUFS. It is the far-town or far-crowd layer under the lane, city, lower-city and al-Safa beds, and two blind judge passes found no intelligible words.
- sfx_blind_click — #635786 "window residential slide open close click latch various" by kyles, CC0 1.0. Edits: cut 1.38-1.66 s (one latch click); HPF 120 Hz; trim, fades, peak -1 dBFS
- sfx_bolt_clack — house `sfx_palm_stalk_rasp.wav` (#403653) by LamaMakesMusic, CC0 1.0 (both); house `sfx_wood_lid_knock.wav` (#475294) by Sheyvan, CC0 1.0 (both). Edits: The film's signature bolt. A 0.30 s wooden slide (rasp src 1.02–1.32 s, HPF 300 Hz, 0.12 s fade-in, −13 dB) runs into one dry wooden knock (lid knock src 0–0.5 s, HPF 70 Hz). The contact falls at 0.30 s into the file. Peak −1 dBFS. It is heard exactly five times; the fifth is reversed and low-passed in sfx.json.
- sfx_bone_tap — #640602 "Small_Wooden_Box_Hits.wav" by gokalp_gonen, CC0 1.0. Edits: cut 26.38-26.75 s; left channel only (dual mono), HPF 100 Hz; trim, fades, peak -1 dBFS
- sfx_camel_far_1 — #693564 "Dromedaries mooing" by schots, CC0 1.0. Edits: One groan from src 0.0–3.3 s. HPF 120 Hz, LPF 5.5 kHz (LPF 3.5 kHz again in sfx.json for distance), trimmed, faded, peak −1 dBFS. A blind judge identified it as a camel.
- sfx_camel_far_2 — #693564 "Dromedaries mooing" by schots, CC0 1.0. Edits: One groan from src 25.9–29.3 s, with the same processing as above. A blind judge identified it as a camel.
- sfx_card_thud — #824385 "Softcover book hitting table" by nyxlitten, CC0 1.0. Edits: cut 3.80-4.25 s; HPF 60 Hz; trim, fades, peak -1 dBFS
- sfx_cloth_press — #854340 "smoothing apron - rustling fabric - handling canvas" by ponysparkleworld, CC0 1.0. Edits: cut 8.97-9.50 s; HPF 60 Hz, LPF 18 kHz; trim, fades, peak -1 dBFS
- sfx_cloth_swish_1 — #391448 "Shirt Whoosh 1.wav" by saturdaysoundguy, CC0 1.0. Edits: cut 6.70-7.40 s; HPF 80 Hz,FFT denoise 10 dB (floor -72); trim, fades, peak -1 dBFS
- sfx_cloth_swish_3 — #320144 "Blanket Movement 6" by OwlStorm, CC0 1.0. Edits: cut 0.00-1.16 s; HPF 80 Hz; trim, fades, peak -1 dBFS
- sfx_dream_shimmer_short — synthesized for this series: Same engine, 1.6 s dense sparkle sting.
- sfx_needle_punch_1 — #188178 "Sewing/stitching up some fabric" by pfranzen, CC0 1.0. Edits: cut 0.05-0.30 s; HPF 150 Hz; trim, fades, peak -1 dBFS
- sfx_page_turn_1 — #136778 "Page Turn" by davidbain, CC0 1.0. Edits: cut 0.00-1.98 s; HPF 80 Hz; trim, fades, peak -1 dBFS
- sfx_page_turn_2 — #397548 "Page Turn 01" by LilMati, CC0 1.0. Edits: cut 0.00-0.50 s; HPF 80 Hz; trim, fades, peak -1 dBFS
- sfx_paper_rustle_1 — #181774 "rustling paper.wav" by keweldog, CC0 1.0. Edits: cut 0.30-2.55 s; HPF 80 Hz; trim, fades, peak -1 dBFS
- sfx_paper_rustle_2 — #181774 "rustling paper.wav" by keweldog, CC0 1.0. Edits: cut 2.50-4.45 s; HPF 80 Hz; trim, fades, peak -1 dBFS
- sfx_paper_rustle_3 — #449127 "Rustling Paper" by HarpyHarpHarp, CC0 1.0. Edits: cut 1.45-2.15 s; HPF 80 Hz,FFT denoise 10 dB (floor -60); trim, fades, peak -1 dBFS
- sfx_paper_rustle_4 — #449127 "Rustling Paper" by HarpyHarpHarp, CC0 1.0. Edits: cut 5.70-6.41 s; HPF 80 Hz,FFT denoise 10 dB (floor -60); trim, fades, peak -1 dBFS
- sfx_paper_rustle_5 — #211246 "PageRustle" by Tomoyo Ichijouji, CC0 1.0. Edits: cut 0.10-1.90 s; HPF 80 Hz; trim, fades, peak -1 dBFS
- sfx_paper_slide_1 — #464302 "PaperSlide.wav" by eyesonlegs, CC0 1.0. Edits: cut 0.00-1.64 s; HPF 60 Hz,FFT denoise 10 dB (floor -55); trim, fades, peak -1 dBFS
- sfx_paper_slide_2 — #444431 "Sliding Envelope.wav" by MTJohnson, CC0 1.0. Edits: cut 0.20-1.10 s; HPF 80 Hz; trim, fades, peak -3 dBFS
- sfx_paper_tear_2 — #342541 "Fast Paper Rip" by sgrowe, CC0 1.0. Edits: cut 0.00-0.89 s; HPF 60 Hz; trim, fades, peak -1 dBFS
- sfx_paper_tear_3 — #170311 "Tearing paper" by ludde44, CC0 1.0. Edits: cut 0.20-1.52 s; HPF 60 Hz; trim, fades, peak -1 dBFS
- sfx_pen_tick_1 — #85703 "Pencil_scibble.aif" (via house `sfx_pencil_scribble_2.wav`) by tmkappelt, CC0 1.0. Edits: one tick cut from sfx_pencil_scribble_2 at 0.545-0.785 s; trim, fades, peak -1 dBFS
- sfx_pen_tick_2 — #85703 "Pencil_scibble.aif" (via house `sfx_pencil_scribble_2.wav`) by tmkappelt, CC0 1.0. Edits: one tick cut from sfx_pencil_scribble_2 at 1.245-1.505 s; trim, fades, peak -1 dBFS
- sfx_pencil_scribble_1 — #257518 "Scribble_short.wav" by waldram, CC0 1.0. Edits: cut 0.00-1.27 s; HPF 150 Hz,FFT denoise 12 dB (floor -50); trim, fades, peak -1 dBFS
- sfx_pencil_scribble_2 — #85703 "Pencil_scibble.aif" by tmkappelt, CC0 1.0. Edits: cut 0.00-3.20 s; HPF 150 Hz,FFT denoise 12 dB (floor -62); trim, fades, peak -1 dBFS
- sfx_roller_thunk — #812363 "Knocking once on wood, single footstep" by CuboRodante, CC0 1.0. Edits: cut 0.35-0.66 s (one dry knock + small settle); HPF 60 Hz; trim, fades, peak -1 dBFS
- sfx_rope_creak — #231438 "hamp rope creaks" by 6polnic, CC0 1.0. Edits: cut 6.64-7.38 s; HPF 90 Hz; trim, fades, peak -1 dBFS (true peak about +0.3 dBTP)
- sfx_spool_creak — #506665 "Wood Creak Single V10" by Rudmer_Rotteveel, CC0 1.0. Edits: cut 0.03-0.95 s; HPF 80 Hz; trim, fades, peak -1 dBFS
- sfx_stamp_thump_2 — #470710 "traditional stamp.wav" by I.fekry, CC0 1.0. Edits: cut 0.40-1.20 s; HPF 40 Hz; trim, fades, peak -1 dBFS
- sfx_thread_creak — #862995 "26.07.04- Creaky Playground Swing - Rope Friction 1" by Valerie-Vivegnis, CC0 1.0. Edits: cut 24.50-25.05 s (one creak); HPF 300 Hz; trim, fades, peak -1 dBFS
- sfx_tick — synthesized for this series: A short synthesized key click for typing in the Qaf app screen (made for this series). Non-instrumental.
- sfx_whoosh_4 — #60013 "Whoosh" by qubodup, CC0 1.0. Edits: cut 0.00-0.43 s; no EQ; trim, fades, peak -1 dBFS
- sfx_whoosh_soft_synth — synthesized for this series: White noise through a time-varying log-Gaussian band-pass sweeping 300 Hz -> 2.2 kHz, swell envelope, slow L->R pan.