
Tickets
Tickets, openingstijden & adresMuseumbezoek
Het Anne Frank Huis is alleen toegankelijk met een online ticket met tijdslot. Dit geldt ook voor kinderen (0-9 jaar) en bezoekers met een museum- of kortingskaart. Betalingen in het museum alleen met pin of mobiel.
DonatiemoduleOnline ticketverkoop
Tickets alleen verkrijgbaar op deze website! Elke dinsdag om 10:00 uur komen alle tickets beschikbaar voor een bezoek zes weken later. Je kunt kiezen voor alleen een museumbezoek of een museumbezoek met een inleidend programma.
Kies je ticketDoneer
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<style>
/* ===== AFS Donatie Widget — scoped styles ===================== */
.afs-donation-widget {
/* Kleur- en vormtokens — kunnen door AFS-stylesheet overschreven worden */
--afs-dw-accent: #e3051d; /* AFS rood */
--afs-dw-accent-hover: #b8030f;
--afs-dw-accent-contrast: #ffffff;
--afs-dw-text: #111111;
--afs-dw-muted: #333333;
--afs-dw-border: #c7c7c7;
--afs-dw-bg: #ffffff;
--afs-dw-radius: 0; /* scherpe hoeken, matcht AFS */
--afs-dw-height: 52px; /* uniforme hoogte voor alles */
--afs-dw-gap: 8px;
font-family: inherit;
color: var(--afs-dw-text);
box-sizing: border-box;
}
.afs-donation-widget *,
.afs-donation-widget *::before,
.afs-donation-widget *::after { box-sizing: border-box; }
.afs-donation-widget__title {
font-size: 1.25rem; font-weight: 800; line-height: 1.2;
margin: 0 0 4px 0; color: inherit; letter-spacing: -0.01em;
}
.afs-donation-widget__title:empty { display: none; }
.afs-donation-widget__subtitle {
font-size: 1rem; color: var(--afs-dw-muted);
margin: 0 0 12px 0; line-height: 1.4; font-weight: 500;
}
.afs-donation-widget__subtitle:empty { display: none; }
/* ---- De hoofdrij: tabs + bedragen + knop ---- */
.afs-donation-widget__row {
display: flex;
flex-wrap: wrap;
gap: var(--afs-dw-gap);
align-items: stretch;
}
/* ---- Tabs (Eenmalig / Maandelijks), alleen als data-frequency-enabled="true" ---- */
.afs-donation-widget__tabs {
display: flex;
flex: 0 0 auto;
}
.afs-donation-widget__tab {
min-height: var(--afs-dw-height);
padding: 0 18px;
border: 1px solid var(--afs-dw-border);
border-right-width: 0;
background: var(--afs-dw-bg);
color: var(--afs-dw-text);
font: inherit; font-weight: 700;
cursor: pointer;
white-space: nowrap;
}
.afs-donation-widget__tab:last-child { border-right-width: 1px; }
.afs-donation-widget__tab[aria-selected="true"] {
background: var(--afs-dw-accent);
color: var(--afs-dw-accent-contrast);
border-color: var(--afs-dw-accent);
}
.afs-donation-widget__tab:focus-visible {
outline: 2px solid var(--afs-dw-accent);
outline-offset: -2px;
}
/* ---- Bedragen (3 vast + custom) ---- */
.afs-donation-widget__amounts {
display: flex;
flex: 1 1 auto;
gap: var(--afs-dw-gap);
min-width: 0;
}
.afs-donation-widget__amount {
position: relative;
flex: 1 1 0;
min-width: 60px;
}
.afs-donation-widget__amount-input {
position: absolute;
inset: 0;
width: 100%;
height: 100%;
opacity: 0;
margin: 0;
cursor: pointer;
}
.afs-donation-widget__amount-label {
display: flex;
align-items: center;
justify-content: center;
width: 100%;
min-height: var(--afs-dw-height);
padding: 0 6px;
border: 1px solid var(--afs-dw-border);
background: var(--afs-dw-bg);
color: var(--afs-dw-text);
font-weight: 700; font-size: 1rem;
user-select: none;
transition: background-color .15s, color .15s, border-color .15s;
}
.afs-donation-widget__amount-input:hover + .afs-donation-widget__amount-label {
border-color: var(--afs-dw-accent);
}
.afs-donation-widget__amount-input:checked + .afs-donation-widget__amount-label {
background: var(--afs-dw-accent);
color: var(--afs-dw-accent-contrast);
border-color: var(--afs-dw-accent);
}
.afs-donation-widget__amount-input:focus-visible + .afs-donation-widget__amount-label {
outline: 2px solid var(--afs-dw-accent);
outline-offset: 2px;
}
/* ---- Custom bedrag (4e pill, als input-veld met € placeholder) ---- */
.afs-donation-widget__custom {
flex: 1 1 0;
min-width: 80px;
}
.afs-donation-widget__custom-input {
display: block;
width: 100%;
min-height: var(--afs-dw-height);
padding: 0 10px;
border: 1px solid var(--afs-dw-border);
background: var(--afs-dw-bg);
color: var(--afs-dw-text);
font: inherit; font-size: 1rem; font-weight: 700;
text-align: center;
-moz-appearance: textfield;
transition: background-color .15s, color .15s, border-color .15s;
}
.afs-donation-widget__custom-input::-webkit-outer-spin-button,
.afs-donation-widget__custom-input::-webkit-inner-spin-button {
-webkit-appearance: none; margin: 0;
}
.afs-donation-widget__custom-input::placeholder {
color: var(--afs-dw-muted);
opacity: .7;
font-weight: 700;
}
.afs-donation-widget__custom-input:hover { border-color: var(--afs-dw-accent); }
.afs-donation-widget__custom-input:focus-visible {
border-color: var(--afs-dw-accent);
outline: 2px solid var(--afs-dw-accent);
outline-offset: 2px;
}
.afs-donation-widget__custom-input.is-active {
background: var(--afs-dw-accent);
color: var(--afs-dw-accent-contrast);
border-color: var(--afs-dw-accent);
}
.afs-donation-widget__custom-input.is-active::placeholder {
color: var(--afs-dw-accent-contrast);
opacity: .7;
}
/* ---- Submit-knop (met AFS-klassen button button--cta button--red) ---- */
.afs-donation-widget__submit {
flex: 0 0 auto;
min-height: var(--afs-dw-height);
height: var(--afs-dw-height); /* vaste hoogte, matcht de andere velden */
padding: 0 24px;
background: var(--afs-dw-accent);
color: var(--afs-dw-accent-contrast);
border: 0;
border-radius: var(--afs-dw-radius);
font: inherit; font-size: 1rem; font-weight: 800;
line-height: 1;
cursor: pointer;
display: inline-flex; /* in plaats van line-height-trucs */
align-items: center;
justify-content: flex-start;
position: relative;
overflow: hidden;
transition: background-color .15s ease;
}
.afs-donation-widget__submit .button__content {
position: relative;
z-index: 2;
display: inline-flex;
align-items: center;
}
.afs-donation-widget__submit:hover,
.afs-donation-widget__submit:focus-visible {
background: var(--afs-dw-accent-hover);
outline: none;
}
.afs-donation-widget__submit:disabled { opacity: .5; cursor: not-allowed; }
/* ---- Error-melding ---- */
.afs-donation-widget__error {
color: var(--afs-dw-accent);
font-size: .875rem;
font-weight: 600;
margin: 10px 0 0 0;
min-height: 1em;
}
.afs-donation-widget__error:empty { display: none; }
/* ---- Responsive: op mobiel alles wrappen en knoppen breder ---- */
@media (max-width: 640px) {
.afs-donation-widget__tabs,
.afs-donation-widget__submit {
flex: 1 1 100%;
}
.afs-donation-widget__tab { flex: 1 1 0; text-align: center; padding: 0 10px; }
.afs-donation-widget__submit { text-align: center; }
.afs-donation-widget__amounts { flex: 1 1 100%; }
}
@media (max-width: 380px) {
.afs-donation-widget__amounts { flex-wrap: wrap; }
.afs-donation-widget__amount,
.afs-donation-widget__custom { flex: 1 1 calc(50% - 4px); min-width: 0; }
}
</style>
<script>
(function () {
'use strict';
function esc(s) {
return String(s).replace(/[&<>"']/g, function (c) {
return ({'&':'&','<':'<','>':'>','"':'"',"'":'''})[c];
});
}
function attr(el, k, f) {
var v = el.getAttribute('data-' + k);
return v === null ? f : v;
}
function parseAmounts(str) {
return String(str || '').split(',')
.map(function (s) { return parseInt(s.trim(), 10); })
.filter(function (n) { return !isNaN(n) && n > 0; });
}
function decodeEntity(s) {
var tmp = document.createElement('textarea');
tmp.innerHTML = s;
return tmp.value;
}
function renderWidget(root) {
if (root.getAttribute('data-afs-rendered') === '1') return;
root.setAttribute('data-afs-rendered', '1');
var cfg = {
landingUrl: attr(root, 'landing-url', 'https://donate.annefrank.org/widgetnl'),
amounts: parseAmounts(attr(root, 'amounts', '10,25,50')),
defaultAmount: parseInt(attr(root, 'default-amount', '25'), 10),
minAmount: parseFloat(attr(root, 'min-amount', '1')),
maxAmount: parseFloat(attr(root, 'max-amount', '10000')),
currency: decodeEntity(attr(root, 'currency-symbol', '\u20ac')),
amountParam: attr(root, 'amount-param', 'opa'),
freqParam: attr(root, 'frequency-param', 'frequentie'),
freqEnabled: attr(root, 'frequency-enabled', 'false') === 'true',
defaultFreq: attr(root, 'default-frequency', 'eenmalig'),
target: attr(root, 'target', '_blank'),
labelTitle: attr(root, 'label-title', ''),
labelSubtitle: attr(root, 'label-subtitle', ''),
labelOnetime: attr(root, 'label-onetime', 'Eenmalig'),
labelRecurring: attr(root, 'label-recurring', 'Maandelijks'),
labelCustomPh: decodeEntity(attr(root, 'label-custom-placeholder', '\u20ac...')),
labelSubmit: attr(root, 'label-submit', '>> Doneer'),
errMin: attr(root, 'label-error-min', 'Vul minimaal {min} in'),
errMax: attr(root, 'label-error-max', 'Het maximum is {max}'),
errInvalid: attr(root, 'label-error-invalid', 'Vul een geldig bedrag in')
};
var uid = 'afs-dw-' + Math.random().toString(36).slice(2, 9);
var currency = cfg.currency;
var html = '';
html += '<h2 class="afs-donation-widget__title">' + esc(cfg.labelTitle) + '</h2>';
html += '<p class="afs-donation-widget__subtitle">' + esc(cfg.labelSubtitle) + '</p>';
html += '<div class="afs-donation-widget__row">';
if (cfg.freqEnabled) {
html += '<div class="afs-donation-widget__tabs" role="tablist">';
html += '<button type="button" class="afs-donation-widget__tab" role="tab" data-freq="eenmalig" aria-selected="' + (cfg.defaultFreq === 'eenmalig') + '">' + esc(cfg.labelOnetime) + '</button>';
html += '<button type="button" class="afs-donation-widget__tab" role="tab" data-freq="maandelijks" aria-selected="' + (cfg.defaultFreq === 'maandelijks') + '">' + esc(cfg.labelRecurring) + '</button>';
html += '</div>';
}
html += '<div class="afs-donation-widget__amounts" role="radiogroup" aria-label="' + esc(cfg.labelSubtitle || 'Kies een bedrag') + '">';
cfg.amounts.slice(0, 3).forEach(function (amt, idx) {
var id = uid + '-a-' + idx;
var checked = amt === cfg.defaultAmount ? ' checked' : '';
html += '<span class="afs-donation-widget__amount">';
html += '<input class="afs-donation-widget__amount-input" type="radio" name="' + uid + '-amount" id="' + id + '" value="' + amt + '"' + checked + '>';
html += '<label class="afs-donation-widget__amount-label" for="' + id + '">' + esc(currency + amt) + '</label>';
html += '</span>';
});
// Custom bedrag als 4e pill
html += '<span class="afs-donation-widget__custom">';
html += '<input class="afs-donation-widget__custom-input" type="number" inputmode="decimal" min="' + cfg.minAmount + '" max="' + cfg.maxAmount + '" step="1" placeholder="' + esc(cfg.labelCustomPh) + '" aria-label="Ander bedrag">';
html += '</span>';
html += '</div>'; // .amounts
// Doneer-knop: AFS native klassen + ripple-SVG, zodat ie op de live site
// identiek oogt aan de bestaande rode CTA.
html += '<button type="button" class="afs-donation-widget__submit button button--cta button--red">';
// SVG staat standaard op 0x0 zodat hij niks doet zonder AFS-CSS.
// Op de live AFS-site overschrijft .button__ripple de afmetingen via de eigen stylesheet.
html += '<svg class="button__ripple" aria-hidden="true" width="0" height="0"><use height="100" width="100" xlink:href="/static/img/sprite.min.svg#ripply-scott" class="button__ripple-circle"></use></svg>';
html += '<span class="button__content">' + esc(cfg.labelSubmit) + '</span>';
html += '</button>';
html += '</div>'; // .row
html += '<p class="afs-donation-widget__error" role="alert" aria-live="polite"></p>';
root.innerHTML = html;
var customInput = root.querySelector('.afs-donation-widget__custom-input');
var errorEl = root.querySelector('.afs-donation-widget__error');
var submitBtn = root.querySelector('.afs-donation-widget__submit');
var radios = root.querySelectorAll('.afs-donation-widget__amount-input');
var tabs = root.querySelectorAll('.afs-donation-widget__tab');
var currentFreq = cfg.defaultFreq;
function clearError() { errorEl.textContent = ''; }
customInput.addEventListener('input', function () {
if (customInput.value !== '') {
Array.prototype.forEach.call(radios, function (r) { r.checked = false; });
customInput.classList.add('is-active');
} else {
customInput.classList.remove('is-active');
}
clearError();
});
customInput.addEventListener('focus', function () {
if (customInput.value !== '') customInput.classList.add('is-active');
});
Array.prototype.forEach.call(radios, function (r) {
r.addEventListener('change', function () {
if (r.checked) {
customInput.value = '';
customInput.classList.remove('is-active');
clearError();
}
});
});
Array.prototype.forEach.call(tabs, function (t) {
t.addEventListener('click', function () {
Array.prototype.forEach.call(tabs, function (x) { x.setAttribute('aria-selected', 'false'); });
t.setAttribute('aria-selected', 'true');
currentFreq = t.getAttribute('data-freq');
});
});
function getAmount() {
if (customInput.value !== '') {
var v = parseFloat(customInput.value.replace(',', '.'));
return isNaN(v) ? null : v;
}
var checked = root.querySelector('.afs-donation-widget__amount-input:checked');
return checked ? parseFloat(checked.value) : null;
}
submitBtn.addEventListener('click', function () {
var amount = getAmount();
if (amount === null || isNaN(amount)) {
errorEl.textContent = cfg.errInvalid;
customInput.focus();
return;
}
if (amount < cfg.minAmount) {
errorEl.textContent = cfg.errMin.replace('{min}', currency + cfg.minAmount);
customInput.focus();
return;
}
if (amount > cfg.maxAmount) {
errorEl.textContent = cfg.errMax.replace('{max}', currency + cfg.maxAmount);
customInput.focus();
return;
}
var rounded = Math.round(amount * 100) / 100;
var url = cfg.landingUrl;
var sep = url.indexOf('?') === -1 ? '?' : '&';
url += sep + encodeURIComponent(cfg.amountParam) + '=' + encodeURIComponent(String(rounded));
if (cfg.freqEnabled) {
url += '&' + encodeURIComponent(cfg.freqParam) + '=' + encodeURIComponent(currentFreq);
}
if (cfg.target === '_blank') {
window.open(url, '_blank', 'noopener,noreferrer');
} else {
window.location.href = url;
}
});
}
function init() {
var widgets = document.querySelectorAll('.afs-donation-widget');
Array.prototype.forEach.call(widgets, renderWidget);
}
if (document.readyState === 'loading') {
document.addEventListener('DOMContentLoaded', init);
} else {
init();
}
})();
</script>
Overige toegangsprijzen
Museumkaart **
€ 1,00*
VriendenLoterij VIP-KAART
€ 1,00*
Stadspas A'dam
€ 1,00*
ICOM Card
€ 1,00*
CJP
€ 7,00*
I amsterdam Card
geen korting
Studentenkaart
geen korting
* inclusief € 1,00 reserveringskosten
Let op: reserveer altijd online een ticket met een tijdslot.
Vergeet niet om per persoon een geldige kortingspas mee te nemen, deze wordt gecontroleerd bij de entree.
** De digitale kaart in de Museumkaart-app óf de fysieke pas.
Let op: reserveer altijd online een ticket met een tijdslot.
Vergeet niet om per persoon een geldige kortingspas mee te nemen, deze wordt gecontroleerd bij de entree.
** De digitale kaart in de Museumkaart-app óf de fysieke pas.
Uitzonderingen openingstijden
1 januari
12 - 22 uur
27 april - Koningsdag
9 - 17 uur
4 mei
9 - 17 uur
20 september 2026
9 - 17 uur
21 september 2026 - jom kipoer
gesloten
22, 23 en 24 september 2026
gesloten
7 november 2026
9 - 18.30 uur
25 december
9 - 17 uur
31 december
9 - 17 uur
Adres en route
Het Anne Frank Huis ligt in het centrum van Amsterdam aan de Prinsengracht 263-267. De museumingang ligt om de hoek aan de Westermarkt 20.
Vanaf het Centraal Station is het ongeveer 20 minuten lopen. De trams 13 en 17 stoppen in de buurt, bij halte 'Westermarkt'.
Parkeergarages:
Google Maps