Credits: How did a man who killed 100 people get forgiven?
How the man who killed ninety-nine people, then a hundredth, was forgiven in the hadith the Prophet ﷺ told (Sahih al-Bukhari 3470, Sahih Muslim 2766): the monk's no, the man of knowledge's yes, death halfway down the road, the land commanded to draw near, a single hand-span, and what the scholars say about a killer's repentance and the rights of the people he killed. A hand-made-style paper-collage animation, rendered live in your browser with plain JavaScript and canvas.
Sources for the story
- Sahih al-Bukhari 3470 (Sahih; Shu'bah's wording): "Among the Children of Israel there was a man who had killed ninety-nine people"; he went out asking; the monk's "No" and his death, completing a hundred; "go to such-and-such a village"; as death overtook him he leaned with his chest toward it; Allah commanded this land to draw near and that one to move away; "And He said: Measure between them"; he was found nearer by a hand-span, "so he was forgiven".
- Sahih Muslim 2766a (Sahih; Hisham's longer wording): he asked for the most knowledgeable person on earth; the monk, then a man of knowledge: "Yes. And who could come between him and repentance?"; "Go to such-and-such a land, for in it are people who worship Allah... do not return to your land, for it is a land of evil"; half the road; the angels of mercy ("He came repenting, turning with his heart to Allah") and of punishment ("He never did any good at all"); an angel in the form of a human made judge: "Measure between the two lands"; "the angels of mercy took him"; the chest-leaning given here as al-Hasan al-Basri's report.
- Sahih Muslim 2766b and 2766c (Sahih; Shu'bah's wording): "There is no repentance for you"; "part of the way"; nearer to the righteous village by a hand-span, "so he was counted among its people"; the lands commanded to move (2766c).
- Sunan Ibn Majah 2622 (Sahih, Darussalam): Abu Sa'id al-Khudri's opening, "Shall I not tell you what I heard from the mouth of the Messenger of Allah ﷺ? My ears heard it, and my heart retained it." (Only this line is taken from this route.)
- Ibn Hajar, Fath al-Bari (on Bukhari 3470): no name for anyone in the story; worship had the upper hand in the monk; "then Allah rescued him, he regretted what he had done, and went back to asking"; the chest-leaning possibly a narrator's addition; when Allah accepts the killer's repentance, He takes upon Himself the satisfaction of the one he wronged.
- al-Ubbi (via al-Harari, Murshid Dhawi al-Hija 15/280-281): the monk may have followed a view in his own law, but should not have pushed a remorseful man into despair.
- al-Nawawi, Sharh Sahih Muslim (via Mir'at al-Mafatih 8/21), with Ibn Muflih, al-Adab al-Shar'iyya 1/69: leaving the places and companions of sin is recommended, and the well-known view is that it is not a condition of repentance.
- Qur'an 5:32, 39:53, 25:68-70 and 4:93 (Uthmani text from quran.com; translation Sahih International): the weight of one life; "do not despair of the mercy of Allah"; "except for those who repent, believe and do righteous work"; the verse Ibn Abbas cited.
- Sahih al-Bukhari 4810 and Sahih Muslim 122 (Sahih): idolaters who had killed much asked whether there was an expiation, and verses including 39:53 and 25:68 were revealed (a separate report).
- Sahih al-Bukhari 4590, 4764, 3855 and Sahih Muslim 3023a (Sahih): Ibn Abbas on 4:93, "the last revealed" on the matter, never abrogated; "There is no repentance for him"; his reasoning about the verses of al-Furqan.
- al-Bukhari, al-Adab al-Mufrad 4 (sahih per al-Albani): Ibn Abbas to a man who had killed, "Repent to Allah, Mighty and Majestic, and draw near to Him as much as you can."
- Musannaf Ibn Abi Shaybah 27753 (a report; Ibn Hajar: "its men are reliable"): "I think he is an angry man who wants to kill a believer", read as deterrence.
- Ibn Kathir, Tafsir (on 4:93): the majority hold that the killer has repentance between himself and his Lord; agreement that people's rights do not fall by repentance alone, but a claim need not end in punishment; for this Ummah, accepting repentance is even more fitting.
- Sunan Ibn Majah 2621 (Sahih, Darussalam): "The killer and the slain will come on the Day of Resurrection, the slain holding the head of his killer, saying: Lord, ask this one why he killed me."
- al-Nawawi, Riyad al-Salihin (chapter on Repentance): the conditions of repentance, with a fourth when a person was wronged; al-Nawawi, Sharh Sahih Muslim 17/82: our law confirms this story.
- Ibn al-Qayyim, al-Da' wa al-Dawa' (quoted in al-Mardawi, al-Insaf 10/335): the three rights in a killing, with his condition; "this one's right is not lost, and that one's repentance is not voided"; "the judgement after that belongs to Allah."
- al-Qurtubi, al-Mufhim 7/91-93: Allah let the angels of mercy see what was in his heart; his inference that before the lands moved he was nearer the land he had left, and divine kindness covered him; "sins, however great, Allah's pardon is greater than them."
- Ibn Hibban, Sahih (al-Ihsan, heading of no. 611): "the report showing that remorse is repentance"; Ibn al-Mulaqqin, al-Tawdih 19/642: "he strove to come near the people of good, so he was helped in his striving."
- The chapter heading in printed Sahih Muslim (added by later scholars, per Ibn al-Salah and al-Nawawi): "the acceptance of the repentance of the killer, even if his killing was much."
- al-Ayni, Umdat al-Qari 16/56: "great hope for those of great sins"; Qadi Iyad, Ikmal al-Mu'lim 8/268-269: the severe words of some early scholars were "so that people would not grow bold with blood."
Out of respect, the Prophet ﷺ, every prophet and the angels are never depicted, nothing stands for Allah, and people are shown only from behind. The killings are told, never shown.
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_copy_room_pens: house `amb_quiet_room_day.wav` (#837996, bruno.auzet, CC0) + Quill and Parchment.WAV (Freesound) by bruno.auzet + Nickh69, CC0 1.0 (both). Edits: room tone looped x2 (48 s, seamless) + quill strokes from source 4.0-50.0 s: highpass=f=400, lowpass=f=2600, aecho 41/73/109 ms (pushed back into the room), soft-clipped at +9.5 dB over its active rms, ~22 dB under the room, faded at the seam; a quiet copying room with far, sparse pen strokes; -26 LUFS; 48k/16-bit
- amb_dawn_birds_soft: #210091 "room small night" by Yuval, CC0 1.0; #331511 "5am_voegel_abudhabi_park.flac" by nikitralala, CC0 1.0. Edits: room hush 325-373 s (HPF 50, LPF 9 kHz) + birds 14-62 s (HPF 1.2 kHz, -12 dB under the hush; the source's later distant Athan at 2:40+ is not used); each looped, 45 s seamless loop (2 s crossfade), -26 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_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_oasis_palms: #640526 "Dried_Banana_Leaves.wav" by gokalp_gonen, CC0 1.0. Edits: cut 55.00-79.20 s (bird-free stretch); HPF 120 Hz; -26 LUFS, 1.5 s fade-in/2 s fade-out
- amb_palm_orchard_breeze: #423800 "Wind through Palm Trees.wav" by klangfabrik, CC0 1.0; #517526 "dove calling with out other side noise" by idreesbari, CC0 1.0. Edits: palm wind src 4.0-78.5 s, HPF 120 Hz, LPF ~4.2 kHz, -3 dB high shelf, -4 dB at 560 Hz; 72 s seamless loop (2.5 s crossfade) with slow loop-periodic ±4 dB swells that darken in the lulls; 3 laughing-dove phrases (src 0.60-1.75, 6.15-7.60, 17.50-18.90 s; band-limited 250 Hz-3 kHz, short diffuse echo) placed at 11.0 / 34.5 / 55.0 s; -24 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_road_dusk_loop: house `amb_desert_dusk_wind.wav` (Freesound #666175) by felix.blume, CC0 1.0; house `amb_predawn_room.wav` (Freesound #210091) by Yuval, CC0 1.0. Edits: the road loop's wind without the bird, lowpass 6.5 kHz, room tone 12 dB under; 64 s; -24 LUFS
- amb_road_loop: house `amb_desert_dusk_wind.wav` (Freesound #666175) by felix.blume, CC0 1.0; house `amb_predawn_room.wav` (Freesound #210091) by Yuval, CC0 1.0; house `sfx_jm_sparrow.wav` (Freesound #543827) by Profispiesser, CC0 1.0. Edits: wind in dry grass looped to 48 s (2 s crossfades) + room tone 12 dB under + one far bird at 23.7 s (sparrow chirps band-passed 1.6-4.2 kHz with a short echo, 17 dB under the wind); -24 LUFS
- 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_dream_shimmer_short: synthesized for this series: Same engine, 1.6 s dense sparkle sting.
- sfx_jm_wood_thunk: #669467 "SFX_wood_stone_floor_axe_handling_drop.wav" by EricsSoundschmiede, CC0 1.0. Edits: cut 0.05-1.50 s; HPF 40 Hz; trim, fades, peak -1 dBFS
- sfx_land_drag: Sand on Paper, Dragged - Long (Freesound) by crashoverride6, CC0 1.0. Edits: source 4.55-6.23 s; pitched down to 0.84 (lower, slower: 2.0 s); HPF 70 Hz, LPF 7 kHz; fades; peak -1 dBFS
- sfx_land_drag_small: Sand on Paper, Dragged - Long (Freesound) by crashoverride6, CC0 1.0. Edits: source 0.30-1.10 s; pitched down to 0.84; HPF 90 Hz, LPF 7 kHz; 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_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_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_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_scroll_unroll: Unrolling Scroll.wav (Freesound) by spookymodem, CC0 1.0. Edits: source 0.45-3.15 s; HPF 90 Hz; atempo 0.845 (3.2 s); 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_drip: Water Drip Free (Freesound) by AardsReal, CC0 1.0. Edits: source 0.0-0.72 s; highpass=f=120:poles=2; single water drip; 48k/16-bit
- 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.