How did Islam really spread across the world? — credits
Early Muslim states did expand by conquest, but ruling land is not converting people. The Qur'an says there is no compulsion in religion; Umar's treaty with Jerusalem, as preserved by al-Tabari, promised the city's Christians safety for their churches and no coercion in religion; and in the conquered lands conversion took centuries (in Iran, by Richard Bulliet's estimate, about three hundred years before most were Muslim). Merchants, scholars and Sufi teachers carried Islam by sea to today's Indonesia, which had the most Muslims of any country as of 2020 (Pew Research Center), and mostly by caravan across the Sahara to Mali. A hand-made-style paper-collage animation, rendered live in your browser with plain JavaScript and canvas.
Sources for the story
- Qur'an 2:256 (Sahih International translation), with Tafsir Ibn Kathir 1/682: "There shall be no compulsion in the religion"
- Qur'an 16:125 (Sahih International translation): "Invite to the way of your Lord with wisdom and good instruction"
- Umar's covenant with the people of Aelia (Jerusalem), 15 AH, as recorded by al-Tabari (via Safwat, Jamharat Rasa'il al-'Arab 1/175–176; Kurd 'Ali, Khitat al-Sham 1/84): safety for their churches; not to be coerced in their religion
- Richard W. Bulliet, Conversion to Islam in the Medieval Period (1979), as summarised by O'Sullivan (Mamluk Studies Review X.2, 2006): Iran from zero in the 640s to at least 80% Muslim by the 960s (an estimate); C. Sahner (2018) on Egypt, Palestine and Syria staying majority-Christian for centuries
- T. W. Arnold, The Preaching of Islam (2nd ed., 1913): the spread of Islam in the Malay Archipelago largely through traders and teachers
- Ahmad Ma'mur al-'Usayri, Mujaz al-Tarikh al-Islami 1/299–301, 416: Islam reached the Indonesian islands through trade and da'wa, not conquering armies
- Mawsu'at Safir 9/1–5 and Ibn Battuta, Rihla 4/265 (in Mali, 1352–53): Islam crossing the Sahara with merchants' caravans
- Pew Research Center, How the Global Religious Landscape Changed From 2010 to 2020 (9 June 2025): about 240 million Muslims in Indonesia, the most of any country, as of 2020
Out of respect, the Prophet ﷺ and the other prophets are never depicted, and people are shown only from behind. Early Muslim states did expand by conquest; this reel is about how people came to Islam, which is a different story.
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_desert_wind — #827840 "Wind in the Mexican Desert" by Sassaby, CC0 1.0. Edits: cut 97.0-123.2 s; HPF 160 Hz x2 (removes mic rumble); 24 s seamless loop (2 s crossfade), -26 LUFS
- amb_room_tone_studio — #744447 "Soft Room Tone" by callmethefoo, CC0 1.0. Edits: cut 10.0-36.2 s (cabin interior room tone); HPF 40 Hz; 24 s seamless loop (2 s crossfade), -26 LUFS
- amb_sea_gentle — #824573 "Corfu - Boukari Beach - Waves Lapping Pebbles" by TicAshfield, CC0 1.0. Edits: cut 2.0-28.2 s; HPF 40 Hz; 24 s seamless loop (2 s crossfade), -26 LUFS
- amb_village_day — #413849 "country rural mountain village quiet but dense morning birds and distant rooster +faint distant TV or radio Peru" by kyles, CC0 1.0. Edits: cut 0.0-26.2 s (no radio/voices audible in this section; the source's radio is later); HPF 90 Hz; 24 s seamless loop (2 s crossfade), -26 LUFS
- sfx_camel_steps_sand — #480668 "R19-19-Slow Footsteps Deep Dirt.wav" by craigsmith, CC0 1.0. Edits: cut 2.45-6.45 s (four slow soft steps); HPF 50 Hz; trim, fades, peak -1 dBFS
- sfx_card_fold — #364740 "open-cardboard-box-compartment.wav" by newagesoup, CC0 1.0. Edits: cut 0.12-0.95 s (quick cardboard flap fold); HPF 80 Hz; trim, fades, peak -1 dBFS
- sfx_cloth_flap — #391945 "cloth flap" by ssierra1202, CC0 1.0. Edits: cut 0.00-0.74 s; HPF 60 Hz; trim, fades, peak -1 dBFS
- sfx_dream_shimmer_short — synthesized for this series: Same engine, 1.6 s dense sparkle sting.
- sfx_fire_ignite — #186374 "Bonfire Being Lit" by samararaine, CC0 1.0. Edits: cut 1.00-4.50 s; HPF 40 Hz; trim, fades, peak -1 dBFS
- sfx_loom_shuttle_clack — #368577 "Kangaspuut / Old wooden loom from 1857, weaving a rag rug" by YleArkisto, CC BY 4.0. Edits: cut 2.86-4.30 s (two beater clacks); HPF 60 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_1 — #272028 "Ripping Paper" by aldenroth2, CC0 1.0. Edits: cut 0.00-1.96 s; HPF 60 Hz,FFT denoise 8 dB (floor -60); trim, fades, peak -1 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_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_stamp_thump_1 — #448474 "es-stamp.wav" by eddies2000, CC0 1.0. Edits: cut 0.95-1.65 s; HPF 40 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_tick — synthesized for this series: A short synthesized key click for typing in the Qaf app screen (made for this series). Non-instrumental.
- sfx_water_lap_small — #438839 "G54-04-Pier Lap.wav" by craigsmith, CC0 1.0. Edits: cut 36.30-37.60 s (one lap against a wooden pier); HPF 50 Hz; 60 ms fade-in, 300 ms fade-out, peak -1 dBFS
- sfx_whoosh_2 — #683101 "quick woosh" by florianreichelt, CC0 1.0. Edits: cut 0.05-2.05 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.
- sfx_wire_creak — #861827 "Creaking Metal Wire of Wooden Gate" by qubodup, CC0 1.0. Edits: cut 0.05-1.40 s (creak only, latch knocks removed); HPF 150 Hz; trim, fades, peak -1 dBFS
- sfx_wood_box_thud — #719794 "Setting down small hard object" by JoMungus, CC0 1.0. Edits: cut 0.00-0.50 s (object set down on a wooden desk); HPF 50 Hz; trim, fades, peak -1 dBFS